HTTP
description
Transcript of HTTP
![Page 1: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/1.jpg)
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)
![Page 2: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/2.jpg)
RoteiroVisão GeralConexõesVersõesFormato de mensagensMétodosCódigos de statusHTTPS
![Page 3: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/3.jpg)
Visão GeralProtocolo da camada de aplicação
Tipos mensagensSintaxe das mensagensSemântica das mensagens Regras de quando e como os processos enviam
as mensagens
![Page 4: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/4.jpg)
Visão GeralWeb 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
host caminho
![Page 5: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/5.jpg)
Visão GeralCliente
user agent
Servidor
http response
http request
http responsehttp request
Modelo Cliente Servidor
![Page 6: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/6.jpg)
Visão GeralUsa TCP
Porta 80Stateless – o servidor não mantém estado
sobre requisições passadas de clientes
![Page 7: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/7.jpg)
ConexõesNão-persistentePersistente
![Page 8: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/8.jpg)
Não-persistenteNo 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
![Page 9: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/9.jpg)
Não persistente
Abre conexão para cada objeto
RTT
RTT
Abre conexão
OBJETOTransmissão do objeto
![Page 10: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/10.jpg)
PersistenteVarios 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
![Page 11: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/11.jpg)
VantagensAbre 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
![Page 12: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/12.jpg)
Sem pipelineSó envia próxima requisição quando a
anterior tiver sido recebida.1 RTT para cada objeto
![Page 13: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/13.jpg)
Sem pipeline
Vários objetos na mesma conexão
RTT
RTT
OBJETO
OBJETO
![Page 14: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/14.jpg)
Com pipelinePadrão do HTTP 1.1Cliente envia requisições sem esperar pela
resposta de cada requisiçãoGasta um pouco mais que 1RTT para todos os
objetosNão deve enviar em pipeline métodos que
não são idempotentes. Deve esperar pela resposta
![Page 15: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/15.jpg)
Com pipeline
Vários objetos solicitados ao mesmo tempo
RTT OBJETOS
![Page 16: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/16.jpg)
VersõesHTTP 0.9 – só o GETHTTP 1.0 – RFC 1945HTTP 1.1 – RFC 2616
![Page 17: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/17.jpg)
HTTP 1.01996 – RFC 1945Usa 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
![Page 18: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/18.jpg)
HTTP 1.11999 – RFC 2616Habilita conexão persistente com ou sem
pipelineImplementa os métodos GET, POST, HEAD,
PUT, DELETE, TRACE, OPTIONS e CONNECT
Servidores Proxys, entre outras características
![Page 19: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/19.jpg)
PerguntaHá incompatibilidade entre o HTTP1.0 e o HTTP1.1?
![Page 20: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/20.jpg)
Formato das Mensagens•Mensagens do HTTP 1.1•Especificadas em ASCII•Formato geral de uma request mensage
![Page 21: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/21.jpg)
Formato das MensagensExemplo de request mensage:
GET /~if738 HTTP 1.1Host: www.cin.ufpe.br User-agent: Mozilla/4.0Connection: closeAccept-language: pt-br
![Page 22: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/22.jpg)
Formato das Mensagens
Version code sentence
•Mensagens do HTTP 1.1•Formato geral de uma reponse mensage
![Page 23: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/23.jpg)
Formato das MensagensExemplo de response mensage:
HTTP/1.1 301 Moved PermanentlyDate: Thu, 23 Sep 2008 23:27:20 GMTServer: ApacheLocation: http://www.cin.ufpe.br/~if738/Content-Length: 303Connection: closeContent-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head> <title>301 Moved Permanently</title> </head><body> <h1>Moved Permanently</h1> <p>The document has moved <a href="http://www.cin.ufpe.br/~if738/">here</a>.</p> <hr> <address>Apache Server at www.cin.ufpe.br Port 80</address></body></html>
![Page 24: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/24.jpg)
MétodosMétodos Seguros:
Get, HeadMétodos idempotentes:
Put, Delete, Options, Trace, Get e Head
Post e Connect não respeitam essas propriedades
![Page 25: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/25.jpg)
MétodosGET
Qualquer requisição de dados especificada por uma URL
Sempre retorna entidadeconditional GETpartial GET
HEADIdêntico ao GET, porém sem corpo. Pode ser
usado para validar hyperlink. Retorna metadados
![Page 26: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/26.jpg)
MétodosPOST
Enviar dados a serem processados no servidor.
PUTEnvia 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
![Page 27: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/27.jpg)
MétodosDELETE
Deleta dados no servidorAs mensagem de resposta podem não ser o que
parece.TRACE
Ecoa o caminho feito pela requisiçãoOPTIONS
Retorna informação sobre as opções de conexão entre as partes da conexão
CONNECTConverte a conexão para TCP/Tunnel transparente.
Facilita o uso do criptografia SSL
![Page 28: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/28.jpg)
Diferença entre POST e PUTA 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
![Page 29: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/29.jpg)
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
![Page 30: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/30.jpg)
Padrão de resposta1XX – informativo2XX – sucesso3XX – redirecionamento4XX – erros no cliente5XX – erros no servidor
![Page 31: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/31.jpg)
Exemplos200 OK
A resposta segue com o objeto requisitado
302 FoundCliente pega o campo “Location” do header
que informa a URI para o qual o recurso foi direcionado
301 Moved PermanentlyRedirecionamento permanente de URI
![Page 32: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/32.jpg)
Exemplos304 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 ForbiddenNão é possível acessar o recurso, mesmo usando
autenticação
![Page 33: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/33.jpg)
Exemplos404 Not Found
O recurso está temporariamente indisponível ou realmente não exista
500 Internal Server ErrorAlgo inesperado aconteceu no servidor (???)
503 Service UnavailableTemporariamente indisponível. Manutenção ou
sobrecarga
![Page 34: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/34.jpg)
HTTPSImplementação de HTTP sobre uma camada
SSLUsado no comércio online/operações
bancárias e clientes de emailPermite que os dados sejam transmitidos por
uma conexão criptografadaVerifica autenticidade usando certificados
digitais
![Page 35: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/35.jpg)
HTTPS
![Page 36: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/36.jpg)
SSL HANDSHAKE
![Page 37: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/37.jpg)
Referencias Redes De Computadores E A Internet - James
F Kurose
http://www.w3.org/Protocols/
www.UFRJ.br
![Page 38: HTTP](https://reader035.fdocumentos.com/reader035/viewer/2022062301/568152fa550346895dc11741/html5/thumbnails/38.jpg)
?