A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães.

Apresentações semelhantes


Apresentação em tema: "Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães."— Transcrição da apresentação:

1 Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães Alves (erma) Marcelo Costa Melo de Andrade (mcma)

2 Roteiro Visão Geral Conexões Versões Formato de mensagens Métodos Códigos de status HTTPS

3 Visão Geral Protocolo da camada de aplicação Tipos mensagens Sintaxe das mensagens Semântica das mensagens Regras de quando e como os processos enviam as mensagens

4 Visão Geral Web e http Jargões Páginas web consistem em objetos Um objeto é qualquer coisa que tenha uma URL( Universal Resourse Locator) www.folha.uol.com.br/folha/dinheiro/ult91u448619.shtml hostcaminho

5 Visão Geral Cliente user agent Servidor http response http request http response http request Modelo Cliente Servidor

6 Visão Geral Usa TCP Porta 8 0 Stateless – o servidor não mantém estado sobre requisições passadas de clientes

7 Conexões Não-persistente Persistente

8 Não-persistente No máximo um objeto é enviado pela conexão TCP HTTP/1.0 usa HTTP não-persistente como padrão 2 RTT – round trip time - para cada objeto Abre sempre uma nova conexão para cada objeto

9 Não persistente Abre conexão para cada objeto RTT Abre conexão OBJETO Transmis são do objeto

10 Persistente Varios objetos podem ser enviados em uma mesma conexão TCP entre o cliente e o servidor. HTTP 1.1 usa como padrão Implementa pipeline A conexão fecha quando sinalizada no header “Connection ” das mensagens HTTP

11 Vantagens Abre menos conexões TCP. É possível implementar um pipeline sobre requisições e respostas O congestionamento da rede é reduzido com a redução do número de pacotes para abrir as conexões Latencia em requisições seguintes diminui, já que não será necessário abrir novas conexões

12 Sem pipeline Só envia próxima requisição quando a anterior tiver sido recebida. 1 RTT para cada objeto

13 Sem pipeline Vários objetos na mesma conexão RTT OBJETO

14 Com pipeline Padrão do HTTP 1.1 Cliente envia requisições sem esperar pela resposta de cada requisição Gasta um pouco mais que 1RTT para todos os objetos Não deve enviar em pipeline métodos que não são idempotentes. Deve esperar pela resposta

15 Com pipeline Vários objetos solicitados ao mesmo tempo RTT OBJETOS

16 Versões HTTP 0.9 – só o GET HTTP 1.0 – RFC 1945 HTTP 1.1 – RFC 2616

17 HTTP 1.0 1996 – RFC 1945 Usa conexão não-persistente Possibilidade de transmissão de mensagens do tipo MIME44 (Multipurpose Internet Mail Extension) Implementa os métodos de requisição POST e HEAD Ainda é um protocolo bastante utilizado

18 HTTP 1.1 1999 – RFC 2616 Habilita conexão persistente com ou sem pipeline Implementa os métodos GET, POST, HEAD, PUT, DELETE, TRACE, OPTIONS e CONNECT Servidores Proxys, entre outras características

19 Pergunta Há incompatibilidade entre o HTTP1.0 e o HTTP1.1?

20 Formato das Mensagens Mensagens do HTTP 1.1 Especificadas em ASCII Formato geral de uma request mensage

21 Formato das Mensagens Exemplo de request mensage: GET /~if738 HTTP 1.1 Host: www.cin.ufpe.br User-agent: Mozilla/4.0 Connection: close Accept-language: pt-br

22 Formato das Mensagens Versioncodesentence Mensagens do HTTP 1.1 Formato geral de uma reponse mensage

23 Formato das Mensagens Exemplo de response mensage: HTTP/1.1 301 Moved Permanently Date: Thu, 23 Sep 2008 23:27:20 GMT Server: Apache Location: http://www.cin.ufpe.br/~if738/ Content-Length: 303 Connection: close Content-Type: text/html; charset=iso-8859-1 301 Moved Permanently Moved Permanently The document has moved here. Apache Ser ver at www.cin.ufpe.br Port 80

24 Métodos Métodos Seguros: Get, Head Métodos idempotentes: Put, Delete, Options, Trace, Get e Head Post e Connect não respeitam essas propriedades

25 Métodos GET Qualquer requisição de dados especificada por uma URL Sempre retorna entidade conditional GET partial GET HEAD Idêntico ao GET, porém sem corpo. Pode ser usado para validar hyperlink. Retorna metadados

26 Métodos POST Enviar dados a serem processados no servidor. PUT Envia dados que serão armazenados no servidor. Caso a operação não seja realizada o servidor não pode deixar de retorno uma mensagem da causa HTTP1.1 não define como esse método afeta o estado do servido

27 Métodos DELETE Deleta dados no servidor As mensagem de resposta podem não ser o que parece. TRACE Ecoa o caminho feito pela requisição OPTIONS Retorna informação sobre as opções de conexão entre as partes da conexão CONNECT Converte a conexão para TCP/Tunnel transparente. Facilita o uso do criptografia SSL

28 Diferença entre POST e PUT A principal diferença entre o POST e o PUT está no significado do URI - Identificador Uniforme de Recursos - da requisição. POST – identifica um recurso que irá manipular o objeto enviado PUT – identifica o próprio objeto enviado

29 Códigos de Resposta Ao responder uma requisição do cliente, o servidor envia um código de resposta Constituído por numeros Segue um padrão

30 Padrão de resposta 1XX – informativo 2XX – sucesso 3XX – redirecionamento 4XX – erros no cliente 5XX – erros no servidor

31 Exemplos 200 OK A resposta segue com o objeto requisitado 302 Found Cliente pega o campo “Location” do header que informa a URI para o qual o recurso foi direcionado 301 Moved Permanently Redirecionamento permanente de URI

32 Exemplos 304 Not Modified Para uso de caching. Informa que não teve alteração desde a ultima requisição 401 Unauthourized é possível acessar o recurso apenas por meio de autenticação 403 Forbidden Não é possível acessar o recurso, mesmo usando autenticação

33 Exemplos 404 Not Found O recurso está temporariamente indisponível ou realmente não exista 500 Internal Server Error Algo inesperado aconteceu no servidor (???) 503 Service Unavailable Temporariamente indisponível. Manutenção ou sobrecarga

34 HTTPS Implementação de HTTP sobre uma camada SSL Usado no comércio online/operações bancárias e clientes de email Permite que os dados sejam transmitidos por uma conexão criptografada Verifica autenticidade usando certificados digitais

35 HTTPS

36 SSL HANDSHAKE

37 Referencias Redes De Computadores E A Internet - James F Kurose http://www.w3.org/Protocols/ www.UFRJ.br

38 ?


Carregar ppt "Hypertext Transfer Protocol Equipe: Alan José de Moura Silva Filho (ajmsf) Cyrus Dias da Silva (cds) Dayse Danielle Soares da Rocha(ddsr) Elton Renan Magalhães."

Apresentações semelhantes


Anúncios Google