Você está na página 1de 11

Protocolo HTTP e HTML

Protocolo HTTP e HTML Gustavo Wagner gugawag@gmail.com Gustavo Wagner ­ gustavowagner.com

Gustavo Wagner

gugawag@gmail.com

Gustavo Wagner ­ gustavowagner.com

Retrospectiva

Na aula anterior vimos sobre a evolucao das arquiteturas de desenvolvimento de sistemas;

Vimos que a arquitetura atualmente aconselhada para desenvolvimento eh a arquitetura em n camadas;

Hoje iremos entrar em maiores detalhes no protocolo HTTP e na linguagem HTML;

Gustavo Wagner ­ gustavowagner.com

Web e HTTP

Primeiro alguns jarg ões P ágina Web consiste de objetos

Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de áudio,…

A p ágina Web consiste de arquivo­HTML base que inclui vários objetos referenciados

Cada objeto é endere ç ado por uma URL

Exemplo de URL:

www.someschool.edu/someDept/pic.gif

URL ∑ Exemplo de URL: www.someschool.edu/someDept/pic.gif Nome do hospedeiro ou dominio N o m e d
URL ∑ Exemplo de URL: www.someschool.edu/someDept/pic.gif Nome do hospedeiro ou dominio N o m e d

Nome do hospedeiro ou dominio

Nome do caminho

Gustavo Wagner ­ gustavowagner.com

3

Visão geral do HTTP

HTTP: hypertext transfer protocol

Protocolo da camada de aplica çã o da Web

Modelo cliente/servidor Cliente: browser que solicita, recebe e apresenta objetos da Web

Servidor: envia objetos em resposta a pedidos

recebe e apresenta objetos da Web ∑ Servidor: envia objetos em resposta a pedidos 4 Gustavo

4

Gustavo Wagner ­ gustavowagner.com

Visão geral do HTTP

Utiliza TCP:

Cliente inicia conexão TCP (cria socket) para o servidor na porta 80 Servidor aceita uma conexão TCP do cliente mensagens HTTP (mensagens do protocolo de camada de aplicação) sã o trocadas entre o browser (cliente HTTP) e o servidor Web (servidor HTTP) A conexã o TCP é fechada

HTTP é “stateless” O servidor n ão manté m informaçã o sobre os pedidos passados pelos clientes

5

Gustavo Wagner ­ gustavowagner.com

Mensagem HTTP request

Dois tipos de mensagens HTTP: request, response

HTTP request message:

ASCII (formato legí vel para humanos)

Linha de pedido (comandos GET, POST, HEAD )

para humanos) Linha de pedido (comandos GET, POST, HEAD ) GET /somedir/page.html HTTP/1.0 Linhas de cabe

GET /somedir/page.html HTTP/1.0

Linhas de cabeç alho

) GET /somedir/page.html HTTP/1.0 Linhas de cabe ç alho User­agent: Mozilla/4.0 Accept: text/html, image/gif,image/

User­agent: Mozilla/4.0 Accept: text/html, image/gif,image/ Accept­language:fr

Carriage return, line feed indica fim da mensagem

Carriage return, line feed indica fim da mensagem (extra carriage return, line feed) Gustavo Wagner ­

(extra carriage return, line feed)

Gustavo Wagner ­ gustavowagner.com

6

Mensagem HTTP request: formato geral

Mensagem HTTP request: formato geral 7 Gustavo Wagner ­ gustavowagner.com

7

Gustavo Wagner ­ gustavowagner.com

Alguns tipos de metodos

M étodo Post:

P ágina Web freq üentemente inclui entrada de formulá rio A entrada é enviada para o servidor no corpo da entidade

Usado para alterar o estado do servidor.

A requisicao tem tamanho ilimitado;

M étodo GET:

A entrada é enviada no campo de URL da linha de requisiçã o; Usado para recuperar dados do servidor. Tem limitacao de tamanho da requisicao.

www.google.com.br/search?hl=pt­BR&client=firefox­a&rls=com.ubuntu

Gustavo Wagner ­ gustavowagner.com

&q=teste

8

Mensagem HTTP response

Linha de status (protocolo

Mensagem HTTP response Linha de status (protocolo c ó digo de status frase de status) Linhas

c

ó digo de status

frase de status)

Linhas de cabeç alho

HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last­Modified: Mon, 22 Jun 1998 … Content­Length: 6821 Content­Type: text/html

Dados, ex.:

arquivo html

data data data data data

6821 Content­Type: text/html Dados, ex.: arquivo html data data data data data 9 Gustavo Wagner ­

9

Gustavo Wagner ­ gustavowagner.com

Códigos de status das respostas

Na primeira linha da mensagem de resposta servidor cliente. Alguns exemplos de có digos:

200 OK

Requisiçã o bem­sucedida, objeto requisitado a seguir nesta mensagem

301 Moved permanently

Objeto requisitado foi movido, nova localizaçã o especificada a seguir

nesta mensagem (Location:)

400 Bad request

Mensagem de requisição nã o compreendida pelo servidor

404 Not Found

Documento requisitado nã o encontrado neste servidor

505 HTTP version not supported

10

Gustavo Wagner ­ gustavowagner.com

Formulario em HTML

<html>

<body>

<form name="nomeFormulario" action="{programa a ser executado no servidor}" method="GET">

<input type="text" name="{nome da area de texto}">

<input type=submit name="btEnviar" value="Enviar">

<input type=reset name="btLimpar" value="Limpar">

</form>

</body>

</html>

Gustavo Wagner ­ gustavowagner.com

11