Fundamentos de arquitetura Web
Fundamentos de arquitetura Web
Helder da Rocha (helder@acm.org) www.argonavis.com.br 1
Objetivos
Este módulo apresenta uma visão geral da plataforma
Web
Lado-cliente
Lado-servidor
Protocolo de comunicação HTTP
Descreve o funcionamento de HTTP e as principais tecnologias utilizadas na Web
Apresenta tecnologias Java para a Web: servlets e JSP
Introduz o ambiente de desenvolvimento: Tomcat
2
A plataforma Web
Baseada em HTTP (RFC 2068)
Protocolo simples de transferência de arquivos
Sem estado (não mantém sessão aberta)
Abre conexão para www.xyz.com:80
Uma requisição:
GET /index.html HTTP/1.1 ...
Cliente
HTTP
(browser)
Uma resposta:
HTTP/1.1 200 OK ...
Máquina www.xyz.com Soquete de Serviço: 80
Funcionamento (simplificado):
Servidor
HTTP
/
Fecha conexão index.html 3
Cliente e servidor HTTP
Servidor HTTP
Gerencia sistema virtual de arquivos e diretórios
Mapeia pastas do sistema de arquivos local (ex: c:\htdocs) a diretórios virtuais (ex: /) acessíveis remotamente (notação de URI)
Papel do servidor HTTP
Interpretar requisições HTTP do cliente (métodos GET, POST, ...)
Devolver resposta HTTP à saída padrão (código de resposta 200,
404, etc., cabeçalho RFC 822* e dados
Papel do cliente HTTP
Enviar requisições HTTP (GET, POST, HEAD, ...) a um servidor.
Requisições contém URI do recurso remoto, cabeçalhos RFC 822 e opcionalmente, dados (se método HTTP for POST)
Processar respostas HTTP recebidas (interpretar cabeçalhos, identificar tipo de dados, interpretar dados ou repassá-los.
* Padrão Internet para construção de cabeçalhos de e-mail
4
Principais métodos HTTP (requisição)
GET - pede ao servidor um arquivo (informado sua URI) absoluta (relativa à raiz do servidor)
GET /
: (RFC 822)
GET pode enviar dados através da URI (tamanho limitado)
?dados
Método HEAD é idêntico ao GET mas servidor não devolve página
(devolve apenas o cabeçalho)
POST - envia dados ao