Академический Документы
Профессиональный Документы
Культура Документы
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>
telnet google.com 80
GET /index.html HTTP/1.1
Host: www.google.com.br
Protocolo HTTP
Na mensagem de resposta temos:
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)
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
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
...