SlideShare a Scribd company logo
1 of 12
Download to read offline
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

More Related Content

What's hot

Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorAlexsandro Oliveira
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSSledsifes
 
Endereçamento ipv4 e ipv6-
 Endereçamento ipv4 e ipv6- Endereçamento ipv4 e ipv6-
Endereçamento ipv4 e ipv6-Mariana Melo
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Protocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson TreinamentosProtocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson TreinamentosFábio dos Reis
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação webCentro Paula Souza
 
PROTOCOLO HTTPS
PROTOCOLO HTTPSPROTOCOLO HTTPS
PROTOCOLO HTTPSByron
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introduçãoAgrupamento de Escolas da Batalha
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IPEvandro Júnior
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebArthur Emanuel
 

What's hot (20)

Topologias de rede
Topologias de redeTopologias de rede
Topologias de rede
 
Principais protocolos de rede
Principais protocolos de redePrincipais protocolos de rede
Principais protocolos de rede
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Arquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-ServidorArquitetura de software : Cliente-Servidor
Arquitetura de software : Cliente-Servidor
 
TCP/IP
TCP/IPTCP/IP
TCP/IP
 
Introdução CSS
Introdução CSSIntrodução CSS
Introdução CSS
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
Endereçamento ipv4 e ipv6-
 Endereçamento ipv4 e ipv6- Endereçamento ipv4 e ipv6-
Endereçamento ipv4 e ipv6-
 
Rede de computadores
Rede de computadoresRede de computadores
Rede de computadores
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Introdução a Tecnologias Web
Introdução a Tecnologias WebIntrodução a Tecnologias Web
Introdução a Tecnologias Web
 
Protocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson TreinamentosProtocolo DHCP - Noções básicas - Bóson Treinamentos
Protocolo DHCP - Noções básicas - Bóson Treinamentos
 
01 Introdução à programação web
01 Introdução à programação web01 Introdução à programação web
01 Introdução à programação web
 
PROTOCOLO HTTPS
PROTOCOLO HTTPSPROTOCOLO HTTPS
PROTOCOLO HTTPS
 
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
5 – Desenvolvimento de Páginas Web Dinâmicas PHP: introdução
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Modelo de camadas TCP/IP
Modelo de camadas TCP/IPModelo de camadas TCP/IP
Modelo de camadas TCP/IP
 
Sistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos WebSistemas Distribuídos - Aula 07 - Servicos Web
Sistemas Distribuídos - Aula 07 - Servicos Web
 
Http VS. Https
Http VS. HttpsHttp VS. Https
Http VS. Https
 

Viewers also liked

Viewers also liked (20)

Http conceitos
Http   conceitosHttp   conceitos
Http conceitos
 
Protocolo HTTP
Protocolo HTTPProtocolo HTTP
Protocolo HTTP
 
PROTOCOLO FTP
PROTOCOLO FTPPROTOCOLO FTP
PROTOCOLO FTP
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Ipv4 e ipv6
Ipv4 e ipv6Ipv4 e ipv6
Ipv4 e ipv6
 
Imurl slides
Imurl slidesImurl slides
Imurl slides
 
Protocolo ftp
Protocolo ftpProtocolo ftp
Protocolo ftp
 
Aula02 - protocolos de email
Aula02 -  protocolos de emailAula02 -  protocolos de email
Aula02 - protocolos de email
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Protocolo pop3
Protocolo pop3Protocolo pop3
Protocolo pop3
 
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAP
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAPCorreio Eletrônico e os  protocolos SMTP, POP3 e IMAP
Correio Eletrônico e os  protocolos SMTP, POP3 e IMAP
 
Protocolo SMTP (Simple Mail Transfer Protocol)
Protocolo  SMTP (Simple Mail Transfer Protocol)Protocolo  SMTP (Simple Mail Transfer Protocol)
Protocolo SMTP (Simple Mail Transfer Protocol)
 
Calculo de endereço ip
Calculo de endereço ipCalculo de endereço ip
Calculo de endereço ip
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Protocolos- SMTP, POP3 e IMAP4
Protocolos- SMTP, POP3 e IMAP4Protocolos- SMTP, POP3 e IMAP4
Protocolos- SMTP, POP3 e IMAP4
 
Vantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redesVantagens e desvantagens em topologias de redes
Vantagens e desvantagens em topologias de redes
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Introdução à Internet, Http e HTML
Introdução à Internet, Http e HTMLIntrodução à Internet, Http e HTML
Introdução à Internet, Http e HTML
 
Smtp
SmtpSmtp
Smtp
 
Internet
InternetInternet
Internet
 

Similar to Protocolo Http

Similar to Protocolo Http (20)

Aula10 -PHP
Aula10 -PHPAula10 -PHP
Aula10 -PHP
 
O get and post para etico hacker
O get and post para etico hackerO get and post para etico hacker
O get and post para etico hacker
 
Conhecendo o Novo REST Framework
Conhecendo o Novo REST FrameworkConhecendo o Novo REST Framework
Conhecendo o Novo REST Framework
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
Dawi o protocolo-http
Dawi o protocolo-httpDawi o protocolo-http
Dawi o protocolo-http
 
4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf4. Introdução ao PHP.pdf
4. Introdução ao PHP.pdf
 
Tecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEBTecnologia em Redes - Servidor WEB
Tecnologia em Redes - Servidor WEB
 
http
httphttp
http
 
Http (hyper text transfer protocol)
Http (hyper text transfer protocol)Http (hyper text transfer protocol)
Http (hyper text transfer protocol)
 
Aula 1
Aula 1Aula 1
Aula 1
 
Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)Hyper Text Transfer Protocol (HTTP)
Hyper Text Transfer Protocol (HTTP)
 
Consumindo dados via web service no android
Consumindo dados via web service no androidConsumindo dados via web service no android
Consumindo dados via web service no android
 
Web service
Web serviceWeb service
Web service
 
Arquitetura web e o php
Arquitetura web e o phpArquitetura web e o php
Arquitetura web e o php
 
Php
PhpPhp
Php
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 
Aula01
Aula01Aula01
Aula01
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Introdução à Servlets e JSP
Introdução à Servlets e JSPIntrodução à Servlets e JSP
Introdução à Servlets e JSP
 
Ferramentas Web 2.0
Ferramentas Web 2.0Ferramentas Web 2.0
Ferramentas Web 2.0
 

More from Marcondes Maçaneiro

More from Marcondes Maçaneiro (11)

TDC2014 - Arduino Legacy
TDC2014 - Arduino LegacyTDC2014 - Arduino Legacy
TDC2014 - Arduino Legacy
 
Palestra Computer on the Beatch 2014
Palestra Computer on the Beatch 2014Palestra Computer on the Beatch 2014
Palestra Computer on the Beatch 2014
 
Apresentação sbseg
Apresentação sbsegApresentação sbseg
Apresentação sbseg
 
JAVAle - Open-IdentityStack
JAVAle - Open-IdentityStackJAVAle - Open-IdentityStack
JAVAle - Open-IdentityStack
 
Presentation
PresentationPresentation
Presentation
 
Apresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informaçãoApresentação cloud computing para sistemas de informação
Apresentação cloud computing para sistemas de informação
 
Automação na nuvem java, cloud e integração contínua
Automação na nuvem  java, cloud e integração contínuaAutomação na nuvem  java, cloud e integração contínua
Automação na nuvem java, cloud e integração contínua
 
Apresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVIApresentação da JAVale para o NIAVI
Apresentação da JAVale para o NIAVI
 
Apresentação educar reitoria
Apresentação educar reitoriaApresentação educar reitoria
Apresentação educar reitoria
 
Tdc2013 trilha cloud
Tdc2013   trilha cloudTdc2013   trilha cloud
Tdc2013 trilha cloud
 
Tdc2013 trilha arduino
Tdc2013   trilha arduinoTdc2013   trilha arduino
Tdc2013 trilha arduino
 

Recently uploaded

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Recently uploaded (9)

ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Protocolo Http

  • 2. 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.
  • 3. 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
  • 4. 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
  • 5. 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.
  • 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é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
  • 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 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