RDC (Redes de Computadores) – Prof. Alberto
HTTP
Hypertext Transfer Protocol
RDC (Redes de Computadores) – Prof. Alberto
Histórico (World Wide Web)



Desenvolvido inicialmente em 1990 por Tim Bernes
Lee no Laboratório de Física de partículas em CERN
na Suíça;
Permite recuperar documentos através de um sistema
de navegação conhecido como “hipertexto“;
Responsável pela “explosão” da Internet (curiosidade:
em junho de 1993 existiam apenas 130 Websites)
RDC (Redes de Computadores) – Prof. Alberto
URL, URI, URN

“Recursos” são recuperados através de
uma convenção de localização;

Eventualmente, “resolução” envolve
pesquisa em servidores DNS.
RDC (Redes de Computadores) – Prof. Alberto
URI

URI –
Universal Resource Identifier. Conjunto de
nomes ou endereços eletrônicos que formam uma
cadeia de caracteres que referenciam uma determinada
localização de um recurso na Internet. Também
chamado Uniform Resource Identifier. Os URL’s e URN’s
são tipos de URI’s
RDC (Redes de Computadores) – Prof. Alberto
URL
URL – Uniform Resource Locator, também referido
como Universal Resource Locator. É uma espécie
de identificador universal que define uma dada
localização de um recurso na Internet. Um URL é
um endereço Internet que informa ao utilizador
como e onde se localiza um determinado “arquivo”
na WWW. Um URL inclui não só o nome do
“arquivo”, mas também o nome do servidor e a
identificação da pasta em que este se encontra,
bem como o protocolo necessário para recuperá-lo.
RDC (Redes de Computadores) – Prof. Alberto
URN
URN – Uniform Resource Name, também referido como Universal
Resource Name/Number. Identificação independente e única de um
recurso disponível na Internet.
Um URN típico é o sistema ISBN para identificar individualmente os livros.
ISBN 0-486-27557-4 (urn:isbn:0-486-27557-4) cita sem equívocos uma edição
específica da obra de Shakespeare, "Romeu e Julieta" (Romeo and Juliet, em
inglês).
Para acessar esta objeto e ler o livro, é necessário obter a sua localização: o
endereço URL. Um URL para este livro é um caminho de arquivos, como
http://www.livroseletronicos/ingles/Shakespeare/romeoandjuliet.pdf,
identificando o arquivo salvo em um servidor Web, no formato PDF.
Então o propósito de URNs e URLs é o de serem complementares.
RDC (Redes de Computadores) – Prof. Alberto
Anatomia de uma URL
protocolo://
host.dominio[:porta] /recurso
Exemplos:
http://www.aulasderedes.com.br/aula1.htm
file://c:\inetpub\wwwroot\default.htm
RDC (Redes de Computadores) – Prof. Alberto
Protocolo HTTP
Protocolo da camada de
aplicação
Modelo cliente/servidor
cliente: browser que pede,
recebe, “visualiza” objetos
WWW
servidor: servidor WWW
envia objetos em resposta
a pedidos
HTTP/1.0: RFC 1945
HTTP/1.1: RFC 2068
RDC (Redes de Computadores) – Prof. Alberto
HTTP (características)
• Usa serviço de transporte TCP;
• Cliente: estabelece conexão TCP (cria socket) ao servidor
na porta 80;
• Servidor: aceita conexão TCP do cliente (“escuta” porta
80);
• Mensagens HTTP : mensagens do protocolo da camada
de aplicação são trocadas entre browser (cliente HTTP) e
servidor Web (servidor HTTP);
• Cada troca encerra conexão TCP;
• Não mantém estado.
RDC (Redes de Computadores) – Prof. Alberto
Conexões persistentes x não persistentes
NÃO PERSISTENTE
• HTTP/1.0;
• Servidor analisa
pedido,responde e encerra a
conexão TCP;
• 2 RTTs para trazer cada
objeto (RTT = round trip
time);
• Transferência de cada
objeto;
• sofre “partida lenta”
(TCPslow-start phase) ;
PERSISTENTE
• default para HTTP/1.1;;
• Na mesma conexão TCP:
servidor analisa pedido,responde,
analisa novo pedido, ...;
• Cliente envia pedidos para todos
objetos referenciados assim que
recebe o HTML base;
• Menos RTTs e menos“partida
lenta” ;
RDC (Redes de Computadores) – Prof. Alberto
Formato da mensagem
Tipos de Mensagem
HTTP:
• Pedido:
linha contendo método,
recurso e versão
linhas de cabeçalho
(headers)
linha em branco
corpo
GET /default.htm HTTP/1.1
Host: www.redes4.net
Connection: close
User-agent: Mozilla/4.0
(carriage return (CR), line feed (LF)
adicionais)
RDC (Redes de Computadores) – Prof. Alberto
Solicitação HTTP (formato Geral)
RDC (Redes de Computadores) – Prof. Alberto
Métodos solicitação HTTP
GET
Recupera um recurso
HEAD
Recupera informações sobre um recurso
POST
Envia informações (“valores”) usando os
campos de cabeçalho
PUT
Faz “upload” de um recurso
DELETE
Exclui um recurso
RDC (Redes de Computadores) – Prof. Alberto
Formato da mensagem
Tipos de Mensagem
HTTP:
• Resposta
Uma linha de status
contendo : protocolo, código
e frase de status
linhas de cabeçalho
(headers)
linha em branco
corpo
HTTP/1.1 200 OK
Connection: close
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 dadosdados ... )
RDC (Redes de Computadores) – Prof. Alberto
Códigos de resposta HTTP
Retorno
Descrição
1YZ
Informação apenas
100 Continue
2YZ
Resposta Positiva
200 OK
3YZ
Redirecionamento para outra URL
301 Moved Permanently
4YZ
Erros do Cliente
404 Not Found
5YZ
Erros do Servidor
500 Server Error
RDC (Redes de Computadores) – Prof. Alberto
Headers comuns
Date
Data e hora da resposta
Host
Identifica o domínio para qual foi feita a
requisição, permite ao web server hospedar
múltiplos sites sobre o mesmo IP.
If-Modified-Since
Permite recuperação condicional
Expires
Indica tempo para que o conteúdo seja
considerado expirado
Last-Modified
Data da ultima alteração
Content-Length
Tamanho do “corpo da mensagem” em bytes
Download

RDC (Redes de Computadores) – Prof. Alberto Formato da