Aula02 http
16 de agosto de 2005
1 Introdução
• HTTP é o protocolo de rede da Web.
• É simples e poderoso.
• Versões: HTTP/1.0 e HTTP/1.1
• HTTP: Hipertext Transfer Protocol.
• É o protocolo utilizado para entregar todos os arquivos e outros tipos de dados na World Wide Web.
• Pilha de protocolos: HTTP / TCP / IP. Em geral, utiliza soquetes TCP/IP
(IP:porta).
• Um cliente (browser ) envia uma requisição para um servidor, que envia a resposta de volta ao cliente. Porta padrão: 80.
• HTTP é utilizado para transferir recursos: blocos de informação que podem ser identicados por uma URL. Em geral, arquivos ou saída de processamento de scripts.
2 Transações HTTP
• HTTP usa o modelo cliente/servidor:
O cliente abre a conexão.
O cliente envia ao servidor uma mensagem HTTP.
O servidor retorna uma mensagem de resposta contendo o recurso solicitado. O servidor fecha a conexão.
• HTTP é um protocolo stateless : nenhuma informação de conexão é mantida entre as transações.
1
2.1 Formato
• O formato de uma mensagem HTTP é:
Uma linha inicial.
Zero ou mais linhas de cabeçalho.
Uma linha em branco (CR LF).
Corpo (opcional) da mensagem.
• Exemplo:
<linha inicial> (diversos formatos)
Header1: valor1
Header2: valor2
<linha em branco>
<mensagem opcional>
• As linhas inicial e de cabeçalhos devem ser encerradas com CR LF (ASCII
13 e 10).
2.2 Linha inicial de uma requisição
• Formato:
<método> <path local> <versão>
• Exemplo:
GET /path/to/le/index.html HTTP/1.0
• Métodos: GET, POST, HEAD, PUT, DELETE, TRACE, OPTIONS.
• Path local: parte da URL depois do nome do host.
• Versão: HTTP/x.x.
2.3 Linha inicial de uma resposta
• Formato:
<versão> <status code > <reason phrase >
• Exemplos:
HTTP/1.0 200 OK
HTTP/1.0 404 Not Found
• Versão: formato idêntico ao da requisição.
• Status code : resultado legível por máquina.
• Reason phrase : resultado legivel por humanos.
• Faixas de status code :
2
1xx : mensagens informativas.
2xx : sucesso.
3xx :