SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Protocolo HTTP
Formato de mensagens
     e métodos



           Thiago Morais
      Segurança da Informação
        1o Período – Noturno
         Novembro / 2012
Sumário
Formato de Mensagens             Pág. 1

Métodos                          Pág. 2

Bibliografia                     Pág. 4
Formato de Mensagens
      Existem dois tipos de mensagem HTTP: requisição e resposta.
                                         Requisição
      Uma mensagem de requisição é formada por uma linha de requisição, as linhas de
cabeçalho e o corpo da mensagem.
      A linha de requisição é formada pelo método, a URL e a versão http, todos separados por
um espaço. O método é o tipo de ação que a mensagem requer. Exemplos de métodos que são
muito usados em mensagens http são GET, POST e HEAD. A URL é o objeto sobre o qual a
mensagem quer realizar a ação(método) requisitada. E a versão http se refere à versão
requisitada pela mensagem.
      As linhas de cabeçalho devem conter detalhes sobre a requisição para o servidor.
Podemos encaixar o cabeçalho das mensagens de requisição em três tipos.


Gerais: contêm informações referentes principalmente à própria mensagem, e são usadas para
controlar seu processamento e prover o receptor com informações extras.
Requisição: fornecem para o servidor mais informações sobre a natureza da requisição do
cliente, e dão ao cliente mais controle sobre como a requisição é gerenciada. Podem também
contar quais formatos ou códigos o cliente consegue processar.
Entidade: descrevem a entidade contida no corpo da mensagem, se existir alguma.


      Normalmente a mensagem de requisição não irá possuir cabeçalhos de entidade, pois
dificilmente uma mensagem de requisição trará consigo um corpo de mensagem.
      No corpo de mensagem, quando o mesmo existir numa mensagem de requisição, haverá
uma entidade, que pode ser um arquivo de música, uma imagem, uma página html, etc.
                                          Resposta
      Uma mensagem de resposta é formada por uma linha de estado, as linhas de cabeçalho e
o corpo da mensagem.
      Na linha de estado, teremos a versão http, o código da resposta, e uma mensagem
associada ao código. A versão http se refere à versão da mensagem de resposta. O código da
resposta e a mensagem associada a ele trarão a informação sobre os resultados do
processamento da requisição do cliente. O código de resposta é um número de três dígitos que
indica o resultado formal que o servidor está comunicando ao cliente. Já a mensagem associada
é opcional, e é um texto descritivo que pode ser mostrado para o usuário humano do cliente
http, que poderá então saber o que o servidor respondeu.



                                           Página 1
Exemplos de Códigos de estado:


200 OK: Requisição bem sucedida.
301 Moved Permanently: o objeto requisitado foi movido, e a resposta retornará uma nova URL,
com a localização do objeto.
400 Bad Request: o servidor não entendeu a requisição do cliente.
404 HTTP Not Found: O servidor não encontrou o objeto requisitado.
505 HTTP Version Not Supported: o servidor não suporta a versão http requisitada.


      As linhas de cabeçalho devem trazer informações extras sobre a mensagem de resposta.
Podemos encaixar o cabeçalho das mensagens de resposta em três tipos.


Gerais: assim como nas mensagens de requisição, deverão conter informações referentes
principalmente à própria mensagem, não trazendo informações sobre o corpo da mensagem.
Resposta: provêem informação complementar visando ampliar as informações da linha de
estado. O servidor poderá também retornar informações extras no corpo da mensagem,
principalmente se ocorrerem erros.
Entidade: descrevem a entidade contida no corpo da mensagem, se existir alguma. São mais
frequentes nas mensagens de resposta.


      No corpo de mensagem, quando o mesmo existir numa mensagem de requisição, haverá
uma entidade, que pode ser um arquivo de música, uma imagem, uma página html, etc.


                                        Métodos
      O protocolo HTTP define um conjunto de métodos que o cliente pode invocar, que
funcionam como comandos enviados ao servidor web. O protocolo HTTP 1.0, descrito na RFC
1945 (Berners-Lee et al., 1996), são eles GET HEAD e POST.
      As mensagens de requisição e resposta do protocolo HTTP seguem um padrão, uma
requisição é constituída de uma linha informando o método a ser executado em seguida de um
cabeçalho que pode ter mais de uma linha e por ultimo o corpo da mensagem caso seja
necessário.
      Segundo (TANEMBAUM, 2003) o método GET é uma solicitação ao servidor de envio de
página ou objeto exemplo:




                                            Página 2
GET /index.html HTTP/1.1
Host: www.unemat.br
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr


      Neste modelo de requisição podemos notar que na primeira linha está o tipo do método
(GET) o arquivo solicitado e por último o modelo do HTTP usado na segunda linha está o
endereço do host, de onde está hospedado o objeto, Connection: close mostra que não é uma
conexão persistente, User-agent: informa o browser utilizado e Accept-language: refere-se a
linguagem que o é solicitada, caso ela não exista no domínio será usado a linguagem default. A
resposta do servidor deve ser:


HTTP/1.1 200 OK
Connection: close
Date: Mon, 12 Dec 2005 04:15:03 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Sun. 5 May 2005 09:25:23 GMT
Content-Length: 6821
Content-Type: text/html


      Analisando a mensagem de resposta identificamos na primeira linha o estado da
solicitação que no modelo acima está OK, o servidor está enviando o objeto solicitado,
Connection: close está informando que é uma conexão não persistente, Date é a data de acesso
ao objeto, Server o tipo de servidor web, Last-Modified data da última alteração ou criação do
arquivo Content-Length, tamanho do arquivo e por último Content-Type, responsável por
informar o tipo do arquivo.
      Abaixo segue relação dos métodos usados:


GET: Método que solicita algum recurso ou objeto ao servidor.
HEAD: Solicita informações de um determinado objeto sem que esse seja enviado ao cliente
apenas para testa a validade do último acesso.
POST: Método usado para envio de arquivo dados ou formulário HTML ao servidor.
OPTIONS: Por meio desse método o cliente obtém as propriedades do servidor.
DELETE: Informa por meio do URL o objeto a ser deletado.
TRACE: Para enviar mensagem do tipo loopback para teste.

                                            Página 3
PUT: Aceita criar ou modificar algum objeto do servidor.
CONNECT: Comunicar com servidores Proxy.


                                       Bibliografia
Introdução às Redes de Computadores/WWW e HTTP             http://bit.ly/RoXfna

Um pouco do protocolo HTTP                                 http://bit.ly/S560Ba




                                            Página 4

Mais conteúdo relacionado

Semelhante a Http mensagens

Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo httpCarlos Veiga
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBelliando dias
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Liliana Costa
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishLucas Brasilino
 
Introdução à Internet, Http e HTML
Introdução à Internet, Http e HTMLIntrodução à Internet, Http e HTML
Introdução à Internet, Http e HTMLEduardo Mendes
 
pesquisas na internet
pesquisas na internetpesquisas na internet
pesquisas na interneta20061577
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webRegis Magalhães
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkMario Guedes
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptxssssssss23
 
Camada De Aplicação
Camada De AplicaçãoCamada De Aplicação
Camada De AplicaçãoLyous
 

Semelhante a Http mensagens (20)

Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
Aula03 - protocolo http
Aula03 -  protocolo httpAula03 -  protocolo http
Aula03 - protocolo http
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
 
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e VarnishEscalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
Escalabilidade e performance da infraestrutura Plone/Zope com CacheFU e Varnish
 
Protocolo Http
Protocolo HttpProtocolo Http
Protocolo Http
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Parte2c
Parte2cParte2c
Parte2c
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Web service
Web serviceWeb service
Web service
 
Introdução à Internet, Http e HTML
Introdução à Internet, Http e HTMLIntrodução à Internet, Http e HTML
Introdução à Internet, Http e HTML
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
pesquisas na internet
pesquisas na internetpesquisas na internet
pesquisas na internet
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 
A Web é uma API
A Web é uma APIA Web é uma API
A Web é uma API
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
2016-redes-E.pptx
2016-redes-E.pptx2016-redes-E.pptx
2016-redes-E.pptx
 
Camada De Aplicação
Camada De AplicaçãoCamada De Aplicação
Camada De Aplicação
 
Cap 02.pdf
Cap 02.pdfCap 02.pdf
Cap 02.pdf
 

Mais de thiagosenac

Mais de thiagosenac (9)

Wireless senac
Wireless senacWireless senac
Wireless senac
 
Topologia
TopologiaTopologia
Topologia
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
Rede estruturada
Rede estruturadaRede estruturada
Rede estruturada
 
Rede estruturada visio
Rede estruturada visioRede estruturada visio
Rede estruturada visio
 
Paradigmas
ParadigmasParadigmas
Paradigmas
 
Html5
Html5Html5
Html5
 
Gsm hacking
Gsm hackingGsm hacking
Gsm hacking
 
Website security
Website securityWebsite security
Website security
 

Http mensagens

  • 1. Protocolo HTTP Formato de mensagens e métodos Thiago Morais Segurança da Informação 1o Período – Noturno Novembro / 2012
  • 2. Sumário Formato de Mensagens Pág. 1 Métodos Pág. 2 Bibliografia Pág. 4
  • 3. Formato de Mensagens Existem dois tipos de mensagem HTTP: requisição e resposta. Requisição Uma mensagem de requisição é formada por uma linha de requisição, as linhas de cabeçalho e o corpo da mensagem. A linha de requisição é formada pelo método, a URL e a versão http, todos separados por um espaço. O método é o tipo de ação que a mensagem requer. Exemplos de métodos que são muito usados em mensagens http são GET, POST e HEAD. A URL é o objeto sobre o qual a mensagem quer realizar a ação(método) requisitada. E a versão http se refere à versão requisitada pela mensagem. As linhas de cabeçalho devem conter detalhes sobre a requisição para o servidor. Podemos encaixar o cabeçalho das mensagens de requisição em três tipos. Gerais: contêm informações referentes principalmente à própria mensagem, e são usadas para controlar seu processamento e prover o receptor com informações extras. Requisição: fornecem para o servidor mais informações sobre a natureza da requisição do cliente, e dão ao cliente mais controle sobre como a requisição é gerenciada. Podem também contar quais formatos ou códigos o cliente consegue processar. Entidade: descrevem a entidade contida no corpo da mensagem, se existir alguma. Normalmente a mensagem de requisição não irá possuir cabeçalhos de entidade, pois dificilmente uma mensagem de requisição trará consigo um corpo de mensagem. No corpo de mensagem, quando o mesmo existir numa mensagem de requisição, haverá uma entidade, que pode ser um arquivo de música, uma imagem, uma página html, etc. Resposta Uma mensagem de resposta é formada por uma linha de estado, as linhas de cabeçalho e o corpo da mensagem. Na linha de estado, teremos a versão http, o código da resposta, e uma mensagem associada ao código. A versão http se refere à versão da mensagem de resposta. O código da resposta e a mensagem associada a ele trarão a informação sobre os resultados do processamento da requisição do cliente. O código de resposta é um número de três dígitos que indica o resultado formal que o servidor está comunicando ao cliente. Já a mensagem associada é opcional, e é um texto descritivo que pode ser mostrado para o usuário humano do cliente http, que poderá então saber o que o servidor respondeu. Página 1
  • 4. Exemplos de Códigos de estado: 200 OK: Requisição bem sucedida. 301 Moved Permanently: o objeto requisitado foi movido, e a resposta retornará uma nova URL, com a localização do objeto. 400 Bad Request: o servidor não entendeu a requisição do cliente. 404 HTTP Not Found: O servidor não encontrou o objeto requisitado. 505 HTTP Version Not Supported: o servidor não suporta a versão http requisitada. As linhas de cabeçalho devem trazer informações extras sobre a mensagem de resposta. Podemos encaixar o cabeçalho das mensagens de resposta em três tipos. Gerais: assim como nas mensagens de requisição, deverão conter informações referentes principalmente à própria mensagem, não trazendo informações sobre o corpo da mensagem. Resposta: provêem informação complementar visando ampliar as informações da linha de estado. O servidor poderá também retornar informações extras no corpo da mensagem, principalmente se ocorrerem erros. Entidade: descrevem a entidade contida no corpo da mensagem, se existir alguma. São mais frequentes nas mensagens de resposta. No corpo de mensagem, quando o mesmo existir numa mensagem de requisição, haverá uma entidade, que pode ser um arquivo de música, uma imagem, uma página html, etc. Métodos O protocolo HTTP define um conjunto de métodos que o cliente pode invocar, que funcionam como comandos enviados ao servidor web. O protocolo HTTP 1.0, descrito na RFC 1945 (Berners-Lee et al., 1996), são eles GET HEAD e POST. As mensagens de requisição e resposta do protocolo HTTP seguem um padrão, uma requisição é constituída de uma linha informando o método a ser executado em seguida de um cabeçalho que pode ter mais de uma linha e por ultimo o corpo da mensagem caso seja necessário. Segundo (TANEMBAUM, 2003) o método GET é uma solicitação ao servidor de envio de página ou objeto exemplo: Página 2
  • 5. GET /index.html HTTP/1.1 Host: www.unemat.br Connection: close User-agent: Mozilla/4.0 Accept-language: fr Neste modelo de requisição podemos notar que na primeira linha está o tipo do método (GET) o arquivo solicitado e por último o modelo do HTTP usado na segunda linha está o endereço do host, de onde está hospedado o objeto, Connection: close mostra que não é uma conexão persistente, User-agent: informa o browser utilizado e Accept-language: refere-se a linguagem que o é solicitada, caso ela não exista no domínio será usado a linguagem default. A resposta do servidor deve ser: HTTP/1.1 200 OK Connection: close Date: Mon, 12 Dec 2005 04:15:03 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun. 5 May 2005 09:25:23 GMT Content-Length: 6821 Content-Type: text/html Analisando a mensagem de resposta identificamos na primeira linha o estado da solicitação que no modelo acima está OK, o servidor está enviando o objeto solicitado, Connection: close está informando que é uma conexão não persistente, Date é a data de acesso ao objeto, Server o tipo de servidor web, Last-Modified data da última alteração ou criação do arquivo Content-Length, tamanho do arquivo e por último Content-Type, responsável por informar o tipo do arquivo. Abaixo segue relação dos métodos usados: GET: Método que solicita algum recurso ou objeto ao servidor. HEAD: Solicita informações de um determinado objeto sem que esse seja enviado ao cliente apenas para testa a validade do último acesso. POST: Método usado para envio de arquivo dados ou formulário HTML ao servidor. OPTIONS: Por meio desse método o cliente obtém as propriedades do servidor. DELETE: Informa por meio do URL o objeto a ser deletado. TRACE: Para enviar mensagem do tipo loopback para teste. Página 3
  • 6. PUT: Aceita criar ou modificar algum objeto do servidor. CONNECT: Comunicar com servidores Proxy. Bibliografia Introdução às Redes de Computadores/WWW e HTTP http://bit.ly/RoXfna Um pouco do protocolo HTTP http://bit.ly/S560Ba Página 4