Вы находитесь на странице: 1из 7

Protocolo HTTP

HTTP Protocolo de Transferncia de Hipertexto


o protocolo base da WEB
Viabiliza a obteno de Objetos(pginas, imagens...)
Funciona no modelo cliente-servidor
O HTTP define como o cliente (browser) requisita as pginas WEB e como o
servidor as transfere
Usa o TCP como transportador, podendo assim garantir transmisses confiveis
Utiliza a porta 80 como padro

Protocolo HTTP
Alguns mtodos do HTTP 1.1:
GET: busca um objeto definido por uma URL requisio
PUT: indica que os dados no corpo da consulta devem ser armazenados na
URL especificada
POST: envia dados para serem processados pelo servidor no corpo da
mensagem
HEAD: Similar ao mtodo GET, mas retorna somente o cabealho da
resposta do servidor
DELETE: apaga o arquivo especificado na URL

Protocolo HTTP
Tpica mensagem de requisio cliente-servidor:
GET /<diretrio> HTTP/1.1
Host: <ip de onde se encontra o diretrio>

Executem os comandos abaixo observando o cabealho da resposta e os


dados das respostas de cada um:

telnet google.com 80
GET /index.html HTTP/1.1
Host: www.google.com.br

Protocolo HTTP
Na mensagem de resposta temos:

Uma linha inicial (Status-Line)


Verso do protocolo HTTP (HTTP-Version)
Cdigo de status da resposta (Status-Code) e
Descrio do cdigo de status (Reason-Phrase)
Linhas de cabealhos (Responseheader)
Uma linha em branco obrigatria e
Um corpo de mensagem opcional

Protocolo HTTP
Cdigos de resposta :
200 OK - conexo estabelecida e objeto requisitado encontrado
302 Found - indica um redirecionamento temporrio onde no cabealho
Location est a URL da nova localidade
301 Moved Permanently - indica que o ouve um redirecionamento
permanente. E no campo Location do Head est a nova localidade, o registro
com a URL antiga deve ser alterado para a nova
304 Not Modified - usado quando o cliente utiliza cache, indicando que o
objeto solicitado no foi alterado
404 Not Found - indica que o recurso no foi encontrado
403 - acesso negado

Projeto
Servidor Web, que responder a requisies
HTTP, bastante simples. Com as seguintes
regras:
Deve ser implementado utilizando-se a API de Sockets
Ele deve enviar uma mensagem de resposta ao cliente contendo linhas de cabealho e
o objeto desejado, se existente;
A nica verificao necessria quando o objeto no for encontrado, deve-se
retornar: HTTP/1.0 404 Not Found
Teste seu servidor utilizando um navegador qualquer!
Mantenha os arquivos que sero baixados na mesma pasta do seu projeto
Dica : consulte o RFC[2616]

Exemplo :
Requisio (via browser ou telnet)

Requisio (via browser ou telnet)

telnet:
GET /index.html HTTP/1.0
Host: localhost

telnet:
GET /img2.png HTTP/1.0
Host: localhost

Browser:
http://ip:porta

Browser:
http://ip:porta

Resposta (seu servidor)

Resposta (seu servidor)

HTTP/1.0 200 OK
Content-Language: pt-BR
Content-Length: 53
Content-Type: text/html
Connection: close
CRLF enter
dados
...

HTTP/1.0 200 OK
Content-Language: pt-BR
Content-Length: 733
Content-Type: image/png
Connection: close
CRLF enter
dados
...

Вам также может понравиться