Você está na página 1de 16

Protocolo HTTP

Servidores de Páginas

REDES DE COMPUTADORES
A Web Wide Word (www)

 Páginas Web (www) : Consiste de objetos


endereçados por uma URL.
ex: www.facthus.edu.br

 A maioria das páginas web consistem de um


documento HTML que referencia vários objetos tais
como: imagens, animações, sons, etc...
A Web Wide Word (www)

 A URL tem duas partes: Nome do hospedeiros e


nome do caminho.

Ex. www.voile.com.br/diovani/redes1

hospedeiro: www.voile.com.br
Caminho : /diovani/redes1
A Web Wide Word (www)

 Agente de usuário são chamados de Browsers ou


navegador.
ex: internet explorer, netscape, opera, firefox.

 Servidores são chamados de “servidores de


páginas” ou “servidores www”.
ex: Apache
Microsoft Internet information service (IIS)
O protocolo Http

 HTTP : hyper text transfer protocol.


 Protocolo de camada de aplicação.
 Modelo cliente/servidor : browser são clientes que
pedem objetos ao servidor www.
 Duas versões do protocolo:
http 1.0 (rfc 1945)
http 1.1 (rfc 2048)
O protocolo Http

 HTTP : Utiliza o tcp como protocolo de transporte


 Cliente utiliza conexão via socket no servidor. Porta
padrão 80.
 O protocolo http é sem estado (stateless).
- Servidor não mantém histórico de outras conexões
do cliente.
- Servidores que mantêm estado são complexos.
O protocolo Http

 Exemplo de conexão

1. Cliente pede conexão em


servidor http (processo) na porta 80
do servidor 2.Servidor aceita a conexão e
avisa o cliente

3. Cliente envia mensagem de


pedido de http (que contém a URL) 4. Servidor recebe mensagem
através de socket de conexão tcp pedido e formula a mensagem
de resposta contendo os objetos
solicitados. Envia mensagem via
socket.
tempo
O protocolo Http

 Exemplo de conexão (continuação)

5.Servidor encerra a conexão

6.Cliente http recebe mensagem do


servidor, contendo arquivo html.
Visualiza o arquivo html. Verifica
que o arquivo Html referencia outros
10 objetos.

7. Passos de 1 a 5 repetidos
para cada objeto

tempo
Protocolo http.

 Conexões persistentes e conexões não persistentes.

Não persistente Persistentes

•http 1.0 •http 1.1

•Servidor analisa pedido, responde •Na mesma conexão tcp o servidor


e encerra a conexão tcp. analisa o pedido, responde e
analisa novo pedido.
•Para cada objeto e para a página
Html deverá ser aberta uma •Cliente envia o pedido para todos
conexão tcp os objetos referenciados assim que
recebe o Html básico.
•Transferência de cada objeto sofre
de partida lenta do tcp. •Menos RTTs e menos partidas
lentas.
•2 RTTs para cada objeto. (round
trip time)
Protocolo Http

Formato de mensagem http: Formato geral


 Dois tipos de mensagens: Pedido, resposta.
 Mensagem de pedido http (formato ASCII)
Protocolo Http

Formato de mensagem http: Método


 GET: É o método mais comum: solicita algum recurso
como um arquivo ou um script CGI (qualquer dado que
estiver identificado pelo URI) por meio do protocolo
HTTP. O método GET é reconhecido por todos os
servidores.
 HEAD: É o mesmo que GET, mas sem que o recurso seja
retornado. É usado para obter meta-informações por
meio do cabeçalho da resposta, sem ter que recuperar
todo o conteúdo.
 POST: Envia dados para serem processados (por
exemplo, dados de um formulário HTML) para o recurso
especificado. Os dados são incluídos no corpo do
comando.
Protocolo Http

 Exemplo de pedido:

GET /index.html HTTP/1.1 Host:


User-agent: Mozilla/4.0
Accept: text/html, image/gif, image/jpeg
Accept-language: fr
Protocolo Http

 Exemplo de resposta:

HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix) (RedHat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

Dados dados dados dados dados...


Protocolo Http

 Exemplo de pedido com POST

POST /index.html HTTP/1.0


Accept: text/html If-modified-since: Sat, 29
Oct 1999 19:43:31 GMT
Content-Type: application/x-www-form-
urlencoded Content-Length: 30
Nome=NamePessoa&Idade=99&Curso=Computacao
Protocolo Http

Mensagens de erro

 1xx: Informational (Informação) – utilizada para enviar informações


para o cliente de que sua requisição foi recebida e está sendo
processada;
 2xx: Success (Sucesso) – indica que a requisição do cliente foi bem
sucedida;
 3xx: Redirection (Redirecionamento) – informa a ação adicional que
deve ser tomada para completar a requisição;
 4xx: Client Error (Erro no cliente) – avisa que o cliente fez uma
requisição que não pode ser atendida;
 5xx: Server Error (Erro no servidor) – ocorreu um erro no servidor
ao cumprir uma requisição válida.
Protocolo Http

Mensagens de erro

 200 : OK
 301: Moved permanently
 400: Bad Request
 404: Not found
 505: Http version not supported.

Você também pode gostar