Introdução a Sistemas Web

Desenvolvimento de Aplicativos Web - COLTEC/MG

Introdução a Sistemas Web

João Eduardo Montandon

Desenvolvimento de Aplicativos Web - COLTEC/MG

O que acontece quando abrimos uma página web??

Protocolo HTTP

Modelo Resquest/Response: Usuário envia uma requisição, e recebe uma resposta.

Protocolo HTTP: Características

Stateless: Requisições Independentes (Não mantém "histórico" de execução)

Comunicação: Segue modelo Request/Response ("troca de mensagens" entre cliente e servidor)

HTTP Request

Responsável por enviar a requisição ao servidor

HTTP Request

          GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120
Pragma: no-cache
Cache-Control: no-cache
          
        

Métodos HTTP

Define a ação que será executada no servidor no momento do recebimento da requisição

Métodos HTTP: GET

Métodos HTTP: GET

Métodos HTTP: POST

Métodos HTTP: POST

HTTP: Response

Resposta proveniente do servidor

Contém cabeçalho com informações gerais da resposta

Corpo compreende o conteúdo da resposta em si

HTTP: Response

HTTP: Response

HTTP: Response

          HTTP/1.1 302 Moved Temporarily
Content-Type: text/html; charset=UTF-8
Location: https://accounts.google.com/ServiceLogin?passive=1209600&osid=1&continue=https://inbox.google.com/&followup=https://inbox.google.com/
Strict-Transport-Security: max-age=10886400; includeSubdomains
P3P: CP="This is not a P3P policy! See https://support.google.com/accounts/answer/151657?hl=en for more info."
Date: Wed, 01 Jun 2016 15:16:07 GMT
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Set-Cookie: NID=79=L0HNTNZei8q...;Domain=.google.com;Path=/;Expires=Thu, 01-Dec-2016 15:16:07 GMT;HttpOnly
           
        

O Problema das Páginas Estáticas

  • Um servidor web lida apenas com conteúdo estático
  • Isto é, ele apenas retorna recursos já existentes no servidor
  • Todo cliente recupera o mesmo recurso

Aplicações Web

O servidor Web pode delegar essas ações para outra aplicação

Essa aplicação auxiliar é conhecida como Servidor de Aplicação Web

Aplicações Web: Vantagens

Possibilidade de processar informações

Capacidade de gerar páginas dinâmicas

Funcionamento transparente para o usuário (não sabe o que a aplicação realmente processa)

Aplicações Web: Tecnologias

Java: JSP, JSF.

PHP: CakePHP, Drupal, etc.

Ruby: Ruby on Rails, Sinatra.

Python: Django, Flask, etc.

JavaScript: Node.js, Backbone.js, Angular.js, Express.js, etc.

Scala, Groovy, Grails,

Referências

BASHAN, B.; SIERRA, K.; Bates, B.; Use a Cabeça: Servlets e JSP, O’Reilly, 2ª Edição, 2011.

Fork me on Github