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