Protocolo HTTP




Marcondes Maçaneiro
Desenvolvimento WEB
Introdução ao Protocolo HTTP
Fonte: http://www.obasicodaweb.com/introducao-ao-http


 HTTP é um protocolo, uma série de regras que definem como um
determinado diálogo deve ser conduzido. Basicamente o protocolo
 define que perguntas podem ser feitas, e que respostas podem ser
 dadas a cada uma delas. Nesse diálogo, quem faz as perguntas (ou
 requisições) é o cliente HTTP — também chamado de user agent,
 que pode ser um browser, um robô (googlebot é um exemplo), um
leitor de tela, um script, ou qualquer outro programa que conheça e
 saiba como seguir o protocolo. Quem dá as respostas é o servidor
 HTTP (ou servidor web). Os dois servidores HTTP que dominam
    a quase totalidade do mercado hoje em dia são o Apache, da
               Apache Foundation e o IIS, da microsoft.
HTTP - O diálogo
●   Exemplo “Pergunta” ou Requisição

GET / HTTP/1.1
Host: dominio.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Accept:
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text
/plain;q=0.8,image/png,*/*;q=0.5
HTTP - O diálogo
●   Resposta


HTTP/1.x 200 OK
Date: Mon, 12 Dec 2005 04:15:03 GMT
Server: Apache/1.3.33 (Unix) DAV/1.0.3 mod_fastcgi/
2.4.2 mod_gzip/1.3.26.1a PHP/4.3.10 mod_ssl/2.8.22
OpenSSL/0.9.7e
Content-Type: text/html; charset=UTF-8
Protocolo HTTP: códigos de resposta
      mais comuns e seus significados
Fonte: http://www.obasicodaweb.com/http-codigos-de-resposta-mais-comuns-e-seus-significados
    Ao receber essa requisição, o servidor procura pelo recurso
 requisitado e envia uma resposta ao cliente. Essa resposta contém
um código de resposta, que consiste de um número e uma pequena
 descrição padrão do código. São vários os códigos possíveis, mas
por enquanto vamos dar uma olhada nos mais comuns. Os códigos
   de resposta seguem a seguinte numeração: começados com 1
 (1XX), que são códigos informativos; 2XX, que indicam sucesso;
3XX que reportam um redirecionamento; 4XX, que informam erros
          acontecidos no cliente e 5XX, erros no servidor.
Fonte: http://pt.kioskea.net/contents/internet/http.php3
http://livehttpheaders.mozdev.org/
●   Para visualizar o diálogo HTTP ao requisitar uma
    página web instale um complemento do Firefox
    chamado LiveHTTPHeaders. Esse complemento
    pode ser baixado no site acima.

●   Vejamos ele em Funcionamento
Termos e Definições
HTTP - Hypertext Transfer Protocol (Protocolo de transferência de
Hipertexto). Protocolo criado para possibilitar o tráfego de informações
com hipertexto na web. Veja o post Introdução ao HTTP.

Hipertexto - Texto que contém internamente referências a outros textos
ou documentos. Na web, o que caracteriza essas referências são os
hiperlinks, ou simplesmente links.

User agent - Uma aplicação que age como cliente em uma transação
cliente-servidor feita sobre um determinado protocolo de rede. Na web
esse protocolo é o HTTP e os user-agents são os browsers, crawlers,
dispositivos móveis, leitores de tela, painéis em braile e qualquer outra
aplicação usada por um usuário para navegar por páginas web.


  Leia mais em: http://www.obasicodaweb.com/termos-e-definicoes
Protocolo HTTP: métodos de requisição
 ●   O método de requisição é o primeiro dado enviado
     pelo user-agent ao fazer uma requisição HTTP ao
     servidor.
 ●   Vamos usar o código de exemplo do post de
     introdução ao protocolo HTTP.
 ●   Vejamos a primeira linha de uma requisição HTTP
     de exemplo: GET / HTTP/1.1

Fonte: http://www.obasicodaweb.com/http-metodos-requisicao
HTTP GET
●   Essa linha informa que a requisição se trata de uma
    recuperação de dados (método GET), usando o
    protocolo HTTP, versão 1.1. Esse método, GET, é
    justamente o primeiro de que vamos tratar,
    principalmente pelo fato de ser ele o método usado
    como padrão por qualquer user-agent e, por isso,
    ser, de longe, o método mais usado. O método GET
    tem duas propriedades importantes: deve ser seguro
    (safe) e idempotente (idempotent).
HTTP GET
●   ATENÇÃO!!!! Ser seguro significa que o método não deve ser
    usado para produzir mudanças nos dados que estão no servidor.
    Ou seja, nunca se deve usar o método GET para, por exemplo,
    atualizar um dado em um banco de dados.


●   Idempotente quer dizer que múltiplas requisições ao mesmo
    recurso usando o método devem ter o mesmo resultado que teria
    uma requisição apenas. A título de curiosidade, idempotente é a
    propriedade de um número que, multiplicado por ele mesmo,
    tem ele mesmo como resultado (n x n = n), em termos de
    números reais, apenas 0 e 1 têm essa propriedade.
HTTP - Métodos
Na disciplina usaremos os Métodos GET e POST os demais métodos não serão foco.
Mais detalhes podemos procurar em livros e na internet.
http://wagnerelias.com/2009/02/06/http-essentials/
http://pt.wikipedia.org/wiki/HTTP

Protocolo Http

  • 1.
  • 2.
    Introdução ao ProtocoloHTTP Fonte: http://www.obasicodaweb.com/introducao-ao-http HTTP é um protocolo, uma série de regras que definem como um determinado diálogo deve ser conduzido. Basicamente o protocolo define que perguntas podem ser feitas, e que respostas podem ser dadas a cada uma delas. Nesse diálogo, quem faz as perguntas (ou requisições) é o cliente HTTP — também chamado de user agent, que pode ser um browser, um robô (googlebot é um exemplo), um leitor de tela, um script, ou qualquer outro programa que conheça e saiba como seguir o protocolo. Quem dá as respostas é o servidor HTTP (ou servidor web). Os dois servidores HTTP que dominam a quase totalidade do mercado hoje em dia são o Apache, da Apache Foundation e o IIS, da microsoft.
  • 3.
    HTTP - Odiálogo ● Exemplo “Pergunta” ou Requisição GET / HTTP/1.1 Host: dominio.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text /plain;q=0.8,image/png,*/*;q=0.5
  • 4.
    HTTP - Odiálogo ● Resposta HTTP/1.x 200 OK Date: Mon, 12 Dec 2005 04:15:03 GMT Server: Apache/1.3.33 (Unix) DAV/1.0.3 mod_fastcgi/ 2.4.2 mod_gzip/1.3.26.1a PHP/4.3.10 mod_ssl/2.8.22 OpenSSL/0.9.7e Content-Type: text/html; charset=UTF-8
  • 5.
    Protocolo HTTP: códigosde resposta mais comuns e seus significados Fonte: http://www.obasicodaweb.com/http-codigos-de-resposta-mais-comuns-e-seus-significados Ao receber essa requisição, o servidor procura pelo recurso requisitado e envia uma resposta ao cliente. Essa resposta contém um código de resposta, que consiste de um número e uma pequena descrição padrão do código. São vários os códigos possíveis, mas por enquanto vamos dar uma olhada nos mais comuns. Os códigos de resposta seguem a seguinte numeração: começados com 1 (1XX), que são códigos informativos; 2XX, que indicam sucesso; 3XX que reportam um redirecionamento; 4XX, que informam erros acontecidos no cliente e 5XX, erros no servidor.
  • 6.
  • 7.
    http://livehttpheaders.mozdev.org/ ● Para visualizar o diálogo HTTP ao requisitar uma página web instale um complemento do Firefox chamado LiveHTTPHeaders. Esse complemento pode ser baixado no site acima. ● Vejamos ele em Funcionamento
  • 8.
    Termos e Definições HTTP- Hypertext Transfer Protocol (Protocolo de transferência de Hipertexto). Protocolo criado para possibilitar o tráfego de informações com hipertexto na web. Veja o post Introdução ao HTTP. Hipertexto - Texto que contém internamente referências a outros textos ou documentos. Na web, o que caracteriza essas referências são os hiperlinks, ou simplesmente links. User agent - Uma aplicação que age como cliente em uma transação cliente-servidor feita sobre um determinado protocolo de rede. Na web esse protocolo é o HTTP e os user-agents são os browsers, crawlers, dispositivos móveis, leitores de tela, painéis em braile e qualquer outra aplicação usada por um usuário para navegar por páginas web. Leia mais em: http://www.obasicodaweb.com/termos-e-definicoes
  • 9.
    Protocolo HTTP: métodosde requisição ● O método de requisição é o primeiro dado enviado pelo user-agent ao fazer uma requisição HTTP ao servidor. ● Vamos usar o código de exemplo do post de introdução ao protocolo HTTP. ● Vejamos a primeira linha de uma requisição HTTP de exemplo: GET / HTTP/1.1 Fonte: http://www.obasicodaweb.com/http-metodos-requisicao
  • 10.
    HTTP GET ● Essa linha informa que a requisição se trata de uma recuperação de dados (método GET), usando o protocolo HTTP, versão 1.1. Esse método, GET, é justamente o primeiro de que vamos tratar, principalmente pelo fato de ser ele o método usado como padrão por qualquer user-agent e, por isso, ser, de longe, o método mais usado. O método GET tem duas propriedades importantes: deve ser seguro (safe) e idempotente (idempotent).
  • 11.
    HTTP GET ● ATENÇÃO!!!! Ser seguro significa que o método não deve ser usado para produzir mudanças nos dados que estão no servidor. Ou seja, nunca se deve usar o método GET para, por exemplo, atualizar um dado em um banco de dados. ● Idempotente quer dizer que múltiplas requisições ao mesmo recurso usando o método devem ter o mesmo resultado que teria uma requisição apenas. A título de curiosidade, idempotente é a propriedade de um número que, multiplicado por ele mesmo, tem ele mesmo como resultado (n x n = n), em termos de números reais, apenas 0 e 1 têm essa propriedade.
  • 12.
    HTTP - Métodos Nadisciplina usaremos os Métodos GET e POST os demais métodos não serão foco. Mais detalhes podemos procurar em livros e na internet. http://wagnerelias.com/2009/02/06/http-essentials/ http://pt.wikipedia.org/wiki/HTTP