Web 3.0: impacto y beneficios para las empresas
La Web 3.0, también conocida como Web Semántica o Web Inteligente, tiene un gran impacto (positivo) en nuestras vidas y negocios.
HTTP
¿Libremente? ¡No! En el uso de computadoras Web 2.0 <anchor>HTTP</anchor> en forma de direcciones únicas para encontrar información almacenada en una ubicación fija, generalmente en un solo servidor.
Hypertext Transfer Protocol – Wikipédia, a enciclopédia livre
Hypertext Transfer Protocol – Wikipédia, a enciclopédia livre[Saltar para o conteúdo](#bodyContent)

Menu principal

Menu principal

mover para a barra lateralocultar

Navegação


- [Página principal](/wiki/Wikip%C3%A9dia:P%C3%A1gina_principal "Visitar a página principal [z]")
- [Conteúdo destacado](/wiki/Portal:Conte%C3%BAdo_destacado)
- [Eventos atuais](/wiki/Portal:Eventos_atuais "Informação temática sobre eventos atuais")
- [Esplanada](/wiki/Wikip%C3%A9dia:Esplanada)
- [Página aleatória](/wiki/Especial:Aleat%C3%B3ria "Carregar página aleatória [x]")
- [Portais](/wiki/Portal:%C3%8Dndice)
- [Informar um erro](/wiki/Wikip%C3%A9dia:Informe_um_erro)

Colaboração


- [Boas-vindas](/wiki/Wikip%C3%A9dia:Boas-vindas)
- [Ajuda](/wiki/Ajuda:P%C3%A1gina_principal "Um local reservado para auxílio.")
- [Páginas de testes públicas](/wiki/Ajuda:P%C3%A1gina_de_testes)
- [Portal comunitário](/wiki/Wikip%C3%A9dia:Portal_comunit%C3%A1rio "Sobre o projeto")
- [Mudanças recentes](/wiki/Especial:Mudan%C3%A7as_recentes "Uma lista de mudanças recentes nesta wiki [r]")
- [Manutenção](/wiki/Wikip%C3%A9dia:Manuten%C3%A7%C3%A3o)
- [Criar página](/wiki/Ajuda:Guia_de_edi%C3%A7%C3%A3o/Como_come%C3%A7ar_uma_p%C3%A1gina)
- [Páginas novas](/wiki/Especial:P%C3%A1ginas_novas)
- [Contato](/wiki/Wikip%C3%A9dia:Contato)
- [Donativos](//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=20120521SB001&uselang=pt "Ajude-nos")

[![](/static/images/icons/wikipedia.png)![Wikipédia](/static/images/mobile/copyright/wikipedia-wordmark-fr.svg)![](/static/images/mobile/copyright/wikipedia-tagline-pt.svg)](/wiki/Wikip%C3%A9dia:P%C3%A1gina_principal)

[Busca](/wiki/Especial:Pesquisar "Pesquisar na Wikipédia [f]")

Pesquisar

Aspeto

- [Criar uma conta](/w/index.php?title=Especial:Criar_conta&returnto=Hypertext+Transfer+Protocol "É encorajado a criar uma conta e iniciar sessão; no entanto, não é obrigatório")
- [Entrar](/w/index.php?title=Especial:Entrar&returnto=Hypertext+Transfer+Protocol "Aconselhamos-lhe a criar uma conta na Wikipédia, embora tal não seja obrigatório. [o]")

Ferramentas pessoais

- [Criar uma conta](/w/index.php?title=Especial:Criar_conta&returnto=Hypertext+Transfer+Protocol "É encorajado a criar uma conta e iniciar sessão; no entanto, não é obrigatório")
- [Entrar](/w/index.php?title=Especial:Entrar&returnto=Hypertext+Transfer+Protocol "Aconselhamos-lhe a criar uma conta na Wikipédia, embora tal não seja obrigatório. [o]")

Páginas para editores sem sessão iniciada [saber mais](/wiki/Ajuda:Introduction)

- [Contribuições](/wiki/Especial:Minhas_contribui%C3%A7%C3%B5es "Uma lista de edições feitas a partir deste endereço IP [y]")
- [Discussão](/wiki/Especial:Minha_discuss%C3%A3o "Discussão sobre edições feitas a partir deste endereço IP [n]")

## Conteúdo

mover para a barra lateralocultar

- Início

- [1Visão técnica geral](#Visão_técnica_geral)
- [2História](#História)
- [3Sessão HTTP](#Sessão_HTTP)
- [4Cookies](#Cookies)
- [5Funcionamento](#Funcionamento)
- [6Mensagem HTTP](#Mensagem_HTTP)Alternar a subsecção Mensagem HTTP  - [6.1Cabeçalho da mensagem](#Cabeçalho_da_mensagem)
  - [6.2Corpo da mensagem](#Corpo_da_mensagem)
  - [6.3Requisição](#Requisição)
- [7Métodos de solicitação](#Métodos_de_solicitação)Alternar a subsecção Métodos de solicitação  - [7.1GET](#GET)
  - [7.2HEAD](#HEAD)
  - [7.3POST](#POST)
  - [7.4PUT](#PUT)
  - [7.5DELETE](#DELETE)
  - [7.6TRACE](#TRACE)
  - [7.7OPTIONS](#OPTIONS)
  - [7.8CONNECT](#CONNECT)
- [8Códigos de estado](#Códigos_de_estado)
- [9Conexões persistentes](#Conexões_persistentes)
- [10Estado de sessão HTTP](#Estado_de_sessão_HTTP)
- [11Resposta](#Resposta)Alternar a subsecção Resposta  - [11.1Códigos de retorno](#Códigos_de_retorno)
  - [11.2Conexões](#Conexões)
  - [11.3Outros protocolos](#Outros_protocolos)
- [12Esquema de comunicação](#Esquema_de_comunicação)
- [13Ver também](#Ver_também)
- [14Referências](#Referências)
- [15Bibliografia](#Bibliografia)
- [16Ligações externas](#Ligações_externas)

Alternar o índice

# Hypertext Transfer Protocol

84 línguas

- [Afrikaans](https://af.wikipedia.org/wiki/HTTP "HTTP — africanês")
- [العربية](https://ar.wikipedia.org/wiki/%D8%A8%D8%B1%D9%88%D8%AA%D9%88%D9%83%D9%88%D9%84_%D9%86%D9%82%D9%84_%D8%A7%D9%84%D9%86%D8%B5_%D8%A7%D9%84%D9%81%D8%A7%D8%A6%D9%82 "بروتوكول نقل النص الفائق — árabe")
- [Asturianu](https://ast.wikipedia.org/wiki/Protocolu_de_tresferencia_d%27hipertestu "Protocolu de tresferencia d'hipertestu — asturiano")
- [Azərbaycanca](https://az.wikipedia.org/wiki/HTTP "HTTP — azerbaijano")
- [تۆرکجه](https://azb.wikipedia.org/wiki/%D8%A7%DA%86%E2%80%8C%D8%AA%DB%8C%E2%80%8C%D8%AA%DB%8C%E2%80%8C%D9%BE%DB%8C "اچ‌تی‌تی‌پی — South Azerbaijani")
- [Беларуская](https://be.wikipedia.org/wiki/HTTP "HTTP — bielorrusso")
- [Беларуская (тарашкевіца)](https://be-tarask.wikipedia.org/wiki/%D0%9F%D1%80%D0%B0%D1%82%D0%B0%D0%BA%D0%BE%D0%BB_%D0%BF%D0%B5%D1%80%D0%B0%D0%B4%D0%B0%D1%87%D1%8B_%D0%B3%D1%96%D0%BF%D1%8D%D1%80%D1%82%D1%8D%D0%BA%D1%81%D1%82%D1%83 "Пратакол перадачы гіпэртэксту — Belarusian (Taraškievica orthography)")
- [Български](https://bg.wikipedia.org/wiki/HTTP "HTTP — búlgaro")
- [বাংলা](https://bn.wikipedia.org/wiki/%E0%A6%B9%E0%A6%BE%E0%A6%87%E0%A6%AA%E0%A6%BE%E0%A6%B0_%E0%A6%9F%E0%A7%87%E0%A6%95%E0%A7%8D%E0%A6%B8%E0%A6%9F_%E0%A6%9F%E0%A7%8D%E0%A6%B0%E0%A6%BE%E0%A6%A8%E0%A7%8D%E0%A6%B8%E0%A6%AB%E0%A6%BE%E0%A6%B0_%E0%A6%AA%E0%A7%8D%E0%A6%B0%E0%A7%8B%E0%A6%9F%E0%A7%8B%E0%A6%95%E0%A6%B2 "হাইপার টেক্সট ট্রান্সফার প্রোটোকল — bengalês")
- [Bosanski](https://bs.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — bósnio")
- [Català](https://ca.wikipedia.org/wiki/Protocol_de_transfer%C3%A8ncia_d%27hipertext "Protocol de transferència d'hipertext — catalão")
- [Čeština](https://cs.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — checo")
- [Cymraeg](https://cy.wikipedia.org/wiki/HTTP "HTTP — galês")
- [Dansk](https://da.wikipedia.org/wiki/HTTP "HTTP — dinamarquês")
- [Deutsch](https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — alemão")
- [Zazaki](https://diq.wikipedia.org/wiki/HTTP "HTTP — Zazaki")
- [Ελληνικά](https://el.wikipedia.org/wiki/%CE%A0%CF%81%CF%89%CF%84%CF%8C%CE%BA%CE%BF%CE%BB%CE%BB%CE%BF_%CE%9C%CE%B5%CF%84%CE%B1%CF%86%CE%BF%CF%81%CE%AC%CF%82_%CE%A5%CF%80%CE%B5%CF%81%CE%BA%CE%B5%CE%B9%CE%BC%CE%AD%CE%BD%CE%BF%CF%85 "Πρωτόκολλο Μεταφοράς Υπερκειμένου — grego")
- [English](https://en.wikipedia.org/wiki/HTTP "HTTP — inglês")
- [Esperanto](https://eo.wikipedia.org/wiki/Hiperteksto-Transiga_Protokolo "Hiperteksto-Transiga Protokolo — esperanto")
- [Español](https://es.wikipedia.org/wiki/Protocolo_de_transferencia_de_hipertexto "Protocolo de transferencia de hipertexto — espanhol")
- [Eesti](https://et.wikipedia.org/wiki/H%C3%BCperteksti_edastusprotokoll "Hüperteksti edastusprotokoll — estónio")
- [Euskara](https://eu.wikipedia.org/wiki/HTTP "HTTP — basco")
- [فارسی](https://fa.wikipedia.org/wiki/%D9%BE%D8%B1%D9%88%D8%AA%DA%A9%D9%84_%D8%A7%D9%86%D8%AA%D9%82%D8%A7%D9%84_%D8%A7%D8%A8%D8%B1%D9%85%D8%AA%D9%86 "پروتکل انتقال ابرمتن — persa")
- [Suomi](https://fi.wikipedia.org/wiki/HTTP "HTTP — finlandês")
- [Võro](https://fiu-vro.wikipedia.org/wiki/HTTP "HTTP — Võro")
- [Føroyskt](https://fo.wikipedia.org/wiki/Http "Http — feroês")
- [Français](https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — francês")
- [Gaeilge](https://ga.wikipedia.org/wiki/Pr%C3%B3tacal_Aistrithe_Hipirt%C3%A9acs "Prótacal Aistrithe Hipirtéacs — irlandês")
- [Galego](https://gl.wikipedia.org/wiki/HTTP "HTTP — galego")
- [ગુજરાતી](https://gu.wikipedia.org/wiki/%E0%AA%B9%E0%AA%BE%E0%AA%AF%E0%AA%AA%E0%AA%B0%E0%AA%9F%E0%AB%87%E0%AA%95%E0%AB%8D%E0%AA%B8%E0%AB%8D%E0%AA%9F_%E0%AA%9F%E0%AB%8D%E0%AA%B0%E0%AA%BE%E0%AA%A8%E0%AB%8D%E0%AA%B8%E0%AA%AB%E0%AA%B0_%E0%AA%AA%E0%AB%8D%E0%AA%B0%E0%AB%8B%E0%AA%9F%E0%AB%8B%E0%AA%95%E0%AB%8B%E0%AA%B2 "હાયપરટેક્સ્ટ ટ્રાન્સફર પ્રોટોકોલ — guzerate")
- [עברית](https://he.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — hebraico")
- [हिन्दी](https://hi.wikipedia.org/wiki/%E0%A4%B9%E0%A4%BE%E0%A4%87%E0%A4%AA%E0%A4%B0%E0%A4%9F%E0%A5%87%E0%A4%95%E0%A5%8D%E0%A4%B8%E0%A5%8D%E0%A4%9F_%E0%A4%9F%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%82%E0%A4%B8%E0%A4%AB%E0%A4%B0_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A5%8B%E0%A4%9F%E0%A5%8B%E0%A4%95%E0%A5%89%E0%A4%B2 "हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल — hindi")
- [Hrvatski](https://hr.wikipedia.org/wiki/HTTP "HTTP — croata")
- [Magyar](https://hu.wikipedia.org/wiki/HTTP "HTTP — húngaro")
- [Հայերեն](https://hy.wikipedia.org/wiki/HTTP "HTTP — arménio")
- [Bahasa Indonesia](https://id.wikipedia.org/wiki/Protokol_Transfer_Hiperteks "Protokol Transfer Hiperteks — indonésio")
- [Ido](https://io.wikipedia.org/wiki/Hipertextala_Tranferoprotokolo "Hipertextala Tranferoprotokolo — ido")
- [Íslenska](https://is.wikipedia.org/wiki/HTTP "HTTP — islandês")
- [Italiano](https://it.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — italiano")
- [日本語](https://ja.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — japonês")
- [Қазақша](https://kk.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — cazaque")
- [한국어](https://ko.wikipedia.org/wiki/HTTP "HTTP — coreano")
- [Latina](https://la.wikipedia.org/wiki/Protocollum_translationis_hypertextuum "Protocollum translationis hypertextuum — latim")
- [Lëtzebuergesch](https://lb.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — luxemburguês")
- [Lombard](https://lmo.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — lombardo")
- [Lietuvių](https://lt.wikipedia.org/wiki/HTTP "HTTP — lituano")
- [Latviešu](https://lv.wikipedia.org/wiki/HTTP "HTTP — letão")
- [Олык марий](https://mhr.wikipedia.org/wiki/HTTP "HTTP — Eastern Mari")
- [Македонски](https://mk.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB_%D0%B7%D0%B0_%D0%BF%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D0%BD%D0%B0_%D1%85%D0%B8%D0%BF%D0%B5%D1%80%D1%82%D0%B5%D0%BA%D1%81%D1%82 "Протокол за пренос на хипертекст — macedónio")
- [മലയാളം](https://ml.wikipedia.org/wiki/%E0%B4%B9%E0%B5%88%E0%B4%AA%E0%B5%8D%E0%B4%AA%E0%B5%BC_%E0%B4%9F%E0%B5%86%E0%B4%95%E0%B5%8D%E0%B4%B8%E0%B5%8D%E0%B4%B1%E0%B5%8D%E0%B4%B1%E0%B5%8D%E2%80%8C_%E0%B4%9F%E0%B5%8D%E0%B4%B0%E0%B4%BE%E0%B5%BB%E0%B4%B8%E0%B5%8D%E0%B4%AB%E0%B5%BC_%E0%B4%AA%E0%B5%8D%E0%B4%B0%E0%B5%8B%E0%B4%9F%E0%B5%8D%E0%B4%9F%E0%B5%8B%E0%B4%95%E0%B5%8B%E0%B5%BE "ഹൈപ്പർ ടെക്സ്റ്റ്‌ ട്രാൻസ്ഫർ പ്രോട്ടോകോൾ — malaiala")
- [Монгол](https://mn.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — mongol")
- [मराठी](https://mr.wikipedia.org/wiki/%E0%A4%B9%E0%A4%BE%E0%A4%AF%E0%A4%AA%E0%A4%B0_%E0%A4%9F%E0%A5%87%E0%A4%95%E0%A5%8D%E0%A4%B8%E0%A5%8D%E0%A4%9F_%E0%A4%9F%E0%A5%8D%E0%A4%B0%E0%A4%BE%E0%A4%A8%E0%A5%8D%E0%A4%B8%E0%A4%AB%E0%A4%B0_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A5%8B%E0%A4%9F%E0%A5%8B%E0%A4%95%E0%A5%89%E0%A4%B2 "हायपर टेक्स्ट ट्रान्सफर प्रोटोकॉल — marata")
- [Bahasa Melayu](https://ms.wikipedia.org/wiki/Protokol_Pemindahan_Hiperteks "Protokol Pemindahan Hiperteks — malaio")
- [नेपाल भाषा](https://new.wikipedia.org/wiki/%E0%A4%8F%E0%A4%9A%E0%A4%9F%E0%A4%BF%E0%A4%9F%E0%A4%BF%E0%A4%AA%E0%A4%BF "एचटिटिपि — newari")
- [Nederlands](https://nl.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — neerlandês")
- [Norsk nynorsk](https://nn.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — norueguês nynorsk")
- [Norsk bokmål](https://no.wikipedia.org/wiki/HTTP "HTTP — norueguês bokmål")
- [ਪੰਜਾਬੀ](https://pa.wikipedia.org/wiki/%E0%A8%B9%E0%A8%BE%E0%A8%87%E0%A8%AA%E0%A8%B0%E0%A8%9F%E0%A9%88%E0%A8%95%E0%A8%B8%E0%A8%9F_%E0%A8%9F%E0%A9%8D%E0%A8%B0%E0%A8%BE%E0%A8%82%E0%A8%B8%E0%A8%AB%E0%A8%B0_%E0%A8%AA%E0%A8%B0%E0%A9%8B%E0%A8%9F%E0%A9%8B%E0%A8%95%E0%A8%BE%E0%A8%B2 "ਹਾਇਪਰਟੈਕਸਟ ਟ੍ਰਾਂਸਫਰ ਪਰੋਟੋਕਾਲ — panjabi")
- [Polski](https://pl.wikipedia.org/wiki/HTTP "HTTP — polaco")
- [Română](https://ro.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — romeno")
- [Русский](https://ru.wikipedia.org/wiki/HTTP "HTTP — russo")
- [Srpskohrvatski / српскохрватски](https://sh.wikipedia.org/wiki/HTTP "HTTP — servo-croata")
- [Simple English](https://simple.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — Simple English")
- [Slovenčina](https://sk.wikipedia.org/wiki/Hypertextov%C3%BD_prenosov%C3%BD_protokol "Hypertextový prenosový protokol — eslovaco")
- [Slovenščina](https://sl.wikipedia.org/wiki/HTTP "HTTP — esloveno")
- [Shqip](https://sq.wikipedia.org/wiki/Protokolli_i_Transferimit_t%C3%AB_Teksteve_t%C3%AB_Lidhura "Protokolli i Transferimit të Teksteve të Lidhura — albanês")
- [Српски / srpski](https://sr.wikipedia.org/wiki/HTTP "HTTP — sérvio")
- [Svenska](https://sv.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — sueco")
- [தமிழ்](https://ta.wikipedia.org/wiki/%E0%AE%AE%E0%AF%80%E0%AE%AF%E0%AF%81%E0%AE%B0%E0%AF%88_%E0%AE%AA%E0%AE%B0%E0%AE%BF%E0%AE%AE%E0%AE%BE%E0%AE%B1%E0%AF%8D%E0%AE%B1_%E0%AE%A8%E0%AF%86%E0%AE%B1%E0%AE%BF%E0%AE%AE%E0%AF%81%E0%AE%B1%E0%AF%88 "மீயுரை பரிமாற்ற நெறிமுறை — tâmil")
- [Тоҷикӣ](https://tg.wikipedia.org/wiki/HTTP "HTTP — tajique")
- [ไทย](https://th.wikipedia.org/wiki/%E0%B9%80%E0%B8%AD%E0%B8%8A%E0%B8%97%E0%B8%B5%E0%B8%97%E0%B8%B5%E0%B8%9E%E0%B8%B5 "เอชทีทีพี — tailandês")
- [Türkmençe](https://tk.wikipedia.org/wiki/Http "Http — turcomano")
- [Tagalog](https://tl.wikipedia.org/wiki/HTTP "HTTP — tagalo")
- [Türkçe](https://tr.wikipedia.org/wiki/HTTP "HTTP — turco")
- [Українська](https://uk.wikipedia.org/wiki/HTTP "HTTP — ucraniano")
- [Vèneto](https://vec.wikipedia.org/wiki/HTTP "HTTP — Venetian")
- [Tiếng Việt](https://vi.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — vietnamita")
- [Winaray](https://war.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — waray")
- [吴语](https://wuu.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE "超文本传输协议 — wu")
- [Yorùbá](https://yo.wikipedia.org/wiki/Hypertext_Transfer_Protocol "Hypertext Transfer Protocol — ioruba")
- [中文](https://zh.wikipedia.org/wiki/%E8%B6%85%E6%96%87%E6%9C%AC%E4%BC%A0%E8%BE%93%E5%8D%8F%E8%AE%AE "超文本传输协议 — chinês")
- [文言](https://zh-classical.wikipedia.org/wiki/%E5%82%B3%E8%B6%85%E6%96%87%E7%B4%84 "傳超文約 — Literary Chinese")
- [閩南語 / Bân-lâm-gú](https://zh-min-nan.wikipedia.org/wiki/HTTP "HTTP — min nan")
- [粵語](https://zh-yue.wikipedia.org/wiki/HTTP "HTTP — cantonês")

[Editar hiperligações](https://www.wikidata.org/wiki/Special:EntityPage/Q8777#sitelinks-wikipedia "Editar hiperligações interlínguas")

- [Artigo](/wiki/Hypertext_Transfer_Protocol "Ver a página de conteúdo [c]")
- [Discussão](/wiki/Discuss%C3%A3o:Hypertext_Transfer_Protocol "Discussão sobre o conteúdo da página [t]")

português

- [Ler](/wiki/Hypertext_Transfer_Protocol)
- [Editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit "Editar esta página [v]")
- [Editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit "Editar o código-fonte desta página [e]")
- [Ver histórico](/w/index.php?title=Hypertext_Transfer_Protocol&action=history "Edições anteriores desta página. [h]")

Ferramentas

Ferramentas

mover para a barra lateralocultar

Operações


- [Ler](/wiki/Hypertext_Transfer_Protocol)
- [Editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit "Editar esta página [v]")
- [Editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit "Editar o código-fonte desta página [e]")
- [Ver histórico](/w/index.php?title=Hypertext_Transfer_Protocol&action=history)

Geral


- [Páginas afluentes](/wiki/Especial:P%C3%A1ginas_afluentes/Hypertext_Transfer_Protocol "Lista de todas as páginas que contêm hiperligações para esta [j]")
- [Alterações relacionadas](/wiki/Especial:Altera%C3%A7%C3%B5es_relacionadas/Hypertext_Transfer_Protocol "Mudanças recentes nas páginas para as quais esta contém hiperligações [k]")
- [Carregar ficheiro](/wiki/Wikipedia:Carregar_ficheiro "Carregar ficheiros [u]")
- [Páginas especiais](/wiki/Especial:P%C3%A1ginas_especiais "Lista de páginas especiais [q]")
- [Hiperligação permanente](/w/index.php?title=Hypertext_Transfer_Protocol&oldid=68489749 "Hiperligação permanente para esta revisão desta página")
- [Informações da página](/w/index.php?title=Hypertext_Transfer_Protocol&action=info "Mais informações sobre esta página")
- [Citar esta página](/w/index.php?title=Especial:Citar&page=Hypertext_Transfer_Protocol&id=68489749&wpFormIdentifier=titleform "Informação sobre como citar esta página")
- [Obter URL encurtado](/w/index.php?title=Especial:UrlShortener&url=https%3A%2F%2Fpt.wikipedia.org%2Fwiki%2FHypertext_Transfer_Protocol)
- [Descarregar código QR](/w/index.php?title=Especial:QrCode&url=https%3A%2F%2Fpt.wikipedia.org%2Fwiki%2FHypertext_Transfer_Protocol)
- [Elemento Wikidata](https://www.wikidata.org/wiki/Special:EntityPage/Q8777 "Hiperligação para o elemento do repositório de dados [g]")

Imprimir/exportar


- [Criar um livro](/w/index.php?title=Especial:Livro&bookcmd=book_creator&referer=Hypertext+Transfer+Protocol)
- [Descarregar como PDF](/w/index.php?title=Especial:DownloadAsPdf&page=Hypertext_Transfer_Protocol&action=show-download-screen)
- [Versão para impressão](/w/index.php?title=Hypertext_Transfer_Protocol&printable=yes "Versão para impressão desta página [p]")

Noutros projetos


- [Wikimedia Commons](https://commons.wikimedia.org/wiki/Category:Hypertext_Transfer_Protocol)

Aspeto

mover para a barra lateralocultar

Origem: Wikipédia, a enciclopédia livre.

[Pilha de protocolos TCP/IP](/wiki/TCP/IP "TCP/IP")[Camada de aplicação](/wiki/Camada_de_aplica%C3%A7%C3%A3o "Camada de aplicação")

- [DHCP](/wiki/Dynamic_Host_Configuration_Protocol "Dynamic Host Configuration Protocol")
- [DNS](/wiki/Sistema_de_Nomes_de_Dom%C3%ADnio "Sistema de Nomes de Domínio")
- [FTP](/wiki/File_Transfer_Protocol "File Transfer Protocol")
- HTTP
- [HTTPS](/wiki/Hyper_Text_Transfer_Protocol_Secure "Hyper Text Transfer Protocol Secure")
- [IMAP](/wiki/Internet_Message_Access_Protocol "Internet Message Access Protocol")
- [LDAP](/wiki/LDAP "LDAP")
- [MGCP](/wiki/MGCP "MGCP")
- [NNTP](/wiki/Network_News_Transfer_Protocol "Network News Transfer Protocol")
- [NTP](/wiki/Network_Time_Protocol "Network Time Protocol")
- [POP](/wiki/Post_Office_Protocol "Post Office Protocol")
- [ONC/RPC](/wiki/Open_Network_Computing_Remote_Procedure_Call "Open Network Computing Remote Procedure Call")
- [RTP](/wiki/Real-time_Transport_Protocol "Real-time Transport Protocol")
- [SIP](/wiki/Protocolo_de_Inicia%C3%A7%C3%A3o_de_Sess%C3%A3o "Protocolo de Iniciação de Sessão")
- [SMTP](/wiki/Simple_Mail_Transfer_Protocol "Simple Mail Transfer Protocol")
- [SNMP](/wiki/Simple_Network_Management_Protocol "Simple Network Management Protocol")
- [SSH](/wiki/Secure_Shell "Secure Shell")
- [Telnet](/wiki/Telnet "Telnet")
- [TLS/SSL](/wiki/Transport_Layer_Security "Transport Layer Security")
- [XMPP](/wiki/Extensible_Messaging_and_Presence_Protocol "Extensible Messaging and Presence Protocol")
- _[outros…](/wiki/Categoria:Protocolos_de_camada_de_aplica%C3%A7%C3%A3o "Categoria:Protocolos de camada de aplicação")_

[Camada de transporte](/wiki/Camada_de_transporte "Camada de transporte")

- [TCP](/wiki/Transmission_Control_Protocol "Transmission Control Protocol")
- [UDP](/wiki/User_Datagram_Protocol "User Datagram Protocol")
- [DCCP](/wiki/Datagram_Congestion_Control_Protocol "Datagram Congestion Control Protocol")
- [SCTP](/wiki/Stream_Control_Transmission_Protocol "Stream Control Transmission Protocol")
- [RSVP](/wiki/RSVP "RSVP")
- _[outros…](/wiki/Categoria:Protocolos_de_camada_de_transporte "Categoria:Protocolos de camada de transporte")_

[Camada de rede](/wiki/Camada_de_rede "Camada de rede")

- [OSPF](/wiki/Open_Shortest_Path_First "Open Shortest Path First")
- [IP](/wiki/Protocolo_de_Internet "Protocolo de Internet")
  - [IPv4](/wiki/Protocolo_de_Internet "Protocolo de Internet")
  - [IPv6](/wiki/IPv6 "IPv6")
- [ICMP](/wiki/Internet_Control_Message_Protocol "Internet Control Message Protocol")
- [ICMPv6](/wiki/ICMPv6 "ICMPv6")
- [ECN](/wiki/Explicit_Congestion_Notification "Explicit Congestion Notification")
- [IGMP](/wiki/Internet_Group_Management_Protocol "Internet Group Management Protocol")
- [IPsec](/wiki/IPsec "IPsec")

[Camada de enlace de dados](/wiki/Camada_de_enlace_de_dados "Camada de enlace de dados")

- [NDP](/wiki/Neighbor_Discovery_Protocol "Neighbor Discovery Protocol")
- [ARP](/wiki/Address_Resolution_Protocol "Address Resolution Protocol")
- _[túneis…](/wiki/Protocolo_de_tunelamento "Protocolo de tunelamento")_
  - [L2TP](/wiki/Layer_2_Tunneling_Protocol "Layer 2 Tunneling Protocol")
- [PPP](/wiki/Point-to-Point_Protocol "Point-to-Point Protocol")
- [MAC](/wiki/Media_Access_Control "Media Access Control")
  - [Ethernet](/wiki/Ethernet "Ethernet")
  - [DSL](/wiki/Digital_Subscriber_Line "Digital Subscriber Line")
  - [RDIS](/wiki/Rede_Digital_de_Servi%C3%A7os_Integrados "Rede Digital de Serviços Integrados")
  - [FDDI](/wiki/Fiber_Distributed_Data_Interface "Fiber Distributed Data Interface")
- _[outros…](/wiki/Categoria:Protocolos_de_camada_de_enlace "Categoria:Protocolos de camada de enlace")_

- [v](/wiki/Predefini%C3%A7%C3%A3o:Pilha_de_protocolos_TCP/IP "Predefinição:Pilha de protocolos TCP/IP")
- [d](/wiki/Predefini%C3%A7%C3%A3o_Discuss%C3%A3o:Pilha_de_protocolos_TCP/IP "Predefinição Discussão:Pilha de protocolos TCP/IP")
- [e](https://pt.wikipedia.org/w/index.php?title=Predefini%C3%A7%C3%A3o:Pilha_de_protocolos_TCP/IP&action=edit)

O **Hypertext Transfer Protocol**, sigla **HTTP** (em português **Protocolo de Transferência de Hipertexto**) é um [protocolo de comunicação](/wiki/Protocolo_de_comunica%C3%A7%C3%A3o "Protocolo de comunicação") (na [camada de aplicação](/wiki/Camada_de_aplica%C3%A7%C3%A3o "Camada de aplicação") segundo o [Modelo OSI](/wiki/Modelo_OSI "Modelo OSI")) utilizado para sistemas de informação de [hipermídia](/wiki/Hiperm%C3%ADdia "Hipermídia"), distribuídos e colaborativos.[\[1\]](#cite_note-T._Berners-Lee_et_all,_1996-1) Ele é a base para a comunicação de dados da [World Wide Web](/wiki/World_Wide_Web "World Wide Web").

[Hipertexto](/wiki/Hipertexto "Hipertexto") é o texto estruturado que utiliza ligações lógicas ( [hiperlinks](/wiki/Hiperlink "Hiperlink")) entre [nós](/wiki/N%C3%B3 "Nó") contendo texto. O HTTP é o protocolo para a troca ou transferência de hipertexto.

Coordenado pela [World Wide Web Consortium](/wiki/World_Wide_Web_Consortium "World Wide Web Consortium") e a [Internet Engineering Task Force](/wiki/Internet_Engineering_Task_Force "Internet Engineering Task Force"), culminou na publicação de uma série de _[Requests for Comments](/wiki/Request_for_Comments "Request for Comments")_; mais notavelmente o [RFC 2616](https://tools.ietf.org/html/rfc2616), de junho de 1999, que definiu o HTTP/1.1. Em Junho de 2014 foram publicados 6 RFC's para maior clareza do protocolo HTTP/1.1.[\[2\]](#cite_note-2) Em Março de 2015, foi divulgado o lançamento do [HTTP/2](/wiki/HTTP/2 "HTTP/2"). A atualização deixará o navegador com um tempo de resposta melhor e mais seguro. Ele também melhorará a navegação em smartphones.[\[3\]](#cite_note-3) Os trabalhos no [HTTP/3](/wiki/HTTP/3 "HTTP/3") já começaram e suas versões beta estão em teste por grandes empresas.[\[4\]](#cite_note-4)

Para acedermos a outro documento a partir de uma palavra presente no documento actual podemos utilizar [hiperligações](/wiki/Hiperliga%C3%A7%C3%A3o "Hiperligação") (ou âncoras). Estes documentos se encontram no sítio com um endereço de página da [Internet](/wiki/Internet "Internet") – e para acessá-los deve-se digitar o respectivo endereço, denominado [URI](/wiki/URI "URI") ( _Universal Resource Identifier_ ou Identificador Universal de Recurso), que não deve ser confundido com [URL](/wiki/URL "URL") ( _Universal Resource Locator_ ou Localizador Universal de Recurso), um tipo de URI que pode ser directamente localizado.

## Visão técnica geral

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=1 "Editar secção: Visão técnica geral") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=1 "Editar código-fonte da secção: Visão técnica geral")\]

O HTTP funciona como um protocolo de [requisição-resposta](/w/index.php?title=Requisi%C3%A7%C3%A3o-resposta&action=edit&redlink=1 "Requisição-resposta (página não existe)") no modelo computacional [cliente-servidor](/wiki/Cliente-servidor "Cliente-servidor"). Um [navegador web](/wiki/Navegador_web "Navegador web"), por exemplo, pode ser o _cliente_ e uma aplicação em um computador que [hospeda](/wiki/Host "Host") um [sítio da web](/wiki/S%C3%ADtio_da_web "Sítio da web") pode ser o _servidor_. O cliente submete uma mensagem de _requisição_ HTTP para o servidor. O servidor, que fornece os _recursos_, como arquivos [HTML](/wiki/HTML "HTML") e outros conteúdos, ou realiza outras funções de interesse do cliente, retorna uma mensagem _resposta_ para o cliente. A resposta contém informações de estado completas sobre a requisição e pode também conter o conteúdo solicitado no corpo de sua mensagem.

Um navegador web é um exemplo de [agente de usuário](/wiki/Agente_de_usu%C3%A1rio "Agente de usuário") (AU). Outros tipos de agentes de usuário incluem o software de indexação usado por provedores de consulta ( [web crawler](/wiki/Web_crawler "Web crawler")), [navegadores vocais](/w/index.php?title=Navegador_por_voz&action=edit&redlink=1 "Navegador por voz (página não existe)"), [aplicações móveis](/wiki/Aplica%C3%A7%C3%A3o_m%C3%B3vel "Aplicação móvel") e outros software que acessam, consomem ou exibem conteúdo web.

O HTTP é projetado para permitir intermediações de elementos de rede para melhorar ou habilitar comunicações entre clientes e servidores. Sites web de alto tráfego geralmente se beneficiam dos servidores de [cache web](/wiki/Cache_web "Cache web") que entregam conteúdo em nome de [servidores de upstream](/w/index.php?title=Servidor_upstream&action=edit&redlink=1 "Servidor upstream (página não existe)") para melhorar o tempo de resposta. Navegadores web armazenam os recursos web acessados anteriormente e reutilizam-nos quando possível para reduzir o tráfego de rede. [Servidores proxy](/w/index.php?title=Servidores_proxy&action=edit&redlink=1 "Servidores proxy (página não existe)") HTTP nas fronteiras de [redes privadas](/wiki/Rede_privada "Rede privada") podem facilitar a comunicação para o cliente sem um endereço globalmente roteável, transmitindo mensagens com servidores externos.

Basicamente, o HTTP define como clientes Web requisitam páginas Web aos servidores e como elas as transferem a clientes. Quando um usuário solicita uma página Web (acessa uma URL), o navegador envia ao servidor mensagens de requisição HTTP para os objetos da página. O servidor, por sua vez, recebe estas requisições e responde com mensagens de resposta HTTP que contém os objetos (...). O protocolo HTTP utiliza por padrão a porta 80 para comunicação (MACEDO et al., 2018).[\[5\]](#cite_note-5)

## História

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=2 "Editar secção: História") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=2 "Editar código-fonte da secção: História")\]

[![](//upload.wikimedia.org/wikipedia/commons/thumb/7/7e/Tim_Berners-Lee_CP_2.jpg/220px-Tim_Berners-Lee_CP_2.jpg)](/wiki/Ficheiro:Tim_Berners-Lee_CP_2.jpg) [Tim Berners-Lee](/wiki/Tim_Berners-Lee "Tim Berners-Lee") na [Campus Party Brasil](/wiki/Campus_Party_Brasil "Campus Party Brasil") em 2009.

O HyperText Transfer Protocol é um protocolo de aplicação responsável pelo tratamento de pedidos e respostas entre cliente e servidor na [World Wide Web](/wiki/World_Wide_Web "World Wide Web"). Ele surgiu da necessidade de distribuir informações pela [Internet](/wiki/Internet "Internet") e para que essa distribuição fosse possível foi necessário criar uma forma padronizada de comunicação entre os clientes e os servidores da Web e entendida por todos os computadores ligados à Internet. Com isso, o protocolo HTTP passou a ser utilizado para a comunicação entre computadores na Internet e a especificar como seriam realizadas as transações entre clientes e servidores, através do uso de regras básicas.

Este protocolo tem sido usado pela WWW desde 1990. A primeira versão de HTTP, chamada HTTP/0.9, era um protocolo simples para a transferência de dados no formato de texto [ASCII](/wiki/ASCII "ASCII") pela Internet, através de um único método de requisição, chamado `GET`. A versão HTTP/1.0 foi desenvolvida entre 1992 e 1996 para suprir a necessidade de transferir não apenas texto. Com essa versão, o protocolo passou a transferir mensagens do tipo [MIME44](/wiki/MIME "MIME") ( _Multipurpose Internet Mail Extension_) e foram implementados novos métodos de requisição, chamados `POST` e `HEAD`.

No HTTP/1.1, versão do protocolo descrito na [RFC 2616](https://tools.ietf.org/html/rfc2616),[\[6\]](#cite_note-Fielding_et_al_1999,_p._7-6) foi desenvolvido um conjunto de implementações adicionais ao HTTP/1.0, como por exemplo: o uso de conexões persistentes; o uso de servidores _[proxy](/wiki/Proxy "Proxy")_ que permitem uma melhor organização da _[cache](/wiki/Cache "Cache")_; novos métodos de requisições; entre outros. Afirma-se que o HTTP também é usado como um protocolo genérico para comunicação entre os agentes de utilizadores e _proxies_/ _gateways_ com outros protocolos, como o [SMTP](/wiki/SMTP "SMTP"), [NNTP](/wiki/NNTP "NNTP"), [FTP](/wiki/FTP "FTP"), [Gopher](/wiki/Gopher "Gopher"), e [WAIS](/wiki/WAIS "WAIS"), permitindo o acesso a recursos disponíveis em aplicações diversas.[\[6\]](#cite_note-Fielding_et_al_1999,_p._7-6)

O [HTTP/2](/wiki/HTTP/2 "HTTP/2") foi publicado como [RFC 7540](https://tools.ietf.org/html/rfc7540) em maio de 2015.

Ano
Versão do HTTP
1991
0.9
1996
1.0
1997
1.1
2015
[2.0](/wiki/HTTP/2 "HTTP/2")2018
[3.0](/wiki/HTTP/3 "HTTP/3")

## Sessão HTTP

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=3 "Editar secção: Sessão HTTP") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=3 "Editar código-fonte da secção: Sessão HTTP")\]

Uma sessão HTTP é uma sequência de transações de rede de requisição-resposta. Um cliente HTTP inicia uma requisição estabelecendo uma conexão [Transmission Control Protocol](/wiki/Transmission_Control_Protocol "Transmission Control Protocol") (TCP) para uma [porta](/wiki/Porta "Porta") particular de um servidor (normalmente a porta 80. Veja [Lista de portas dos protocolos TCP e UDP](/wiki/Lista_de_portas_dos_protocolos_TCP_e_UDP "Lista de portas dos protocolos TCP e UDP")). Um servidor HTTP ouvindo naquela porta espera por uma mensagem de requisição de cliente. Recebendo a requisição, o servidor retorna uma linha de estado, como "HTTP/1.1 200 OK", e uma mensagem particular própria. O corpo desta mensagem normalmente é o recurso solicitado, apesar de uma mensagem de erro ou outra informação também poder ser retornada.

## Cookies

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=4 "Editar secção: Cookies") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=4 "Editar código-fonte da secção: Cookies")\]

![](//upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Magnifying_glass_01.svg/17px-Magnifying_glass_01.svg.png)Ver artigo principal: [Cookie HTTP](/wiki/Cookie_HTTP "Cookie HTTP")

O termo cookie é derivado do inglês que significa biscoito. Recebeu esse nome de uma antiga gíria usada pelos programadores que consistia em um programa que chamava um procedimento e recebia de volta algo que seria necessário apresentar novamente mais tarde para realizar algum trabalho. Foi criado pela Netscape para solucionar o problema do envio e solicitação de arquivos, que eram esquecidos pelo servidor e que poderiam ser usados por outros computadores com o mesmo IP conforme (TANEMBAUM, 2003), o que causava problemas, pois não se sabia na realidade se era ou não aquele usuário mesmo. Os cookies são arquivos ou strings e não são programas executáveis. Eles são tratados como dados pelo navegador, não existe nenhuma maneira dele ser usado como vírus, apesar de que podem ser explorados bugs no servidor e causar a ativação de um cookie como vírus, por um hacker. Basicamente ele é um grupo de dados trocados entre o servidor de páginas e o navegador colocado em um ficheiro criado no computador do usuário. Serve para manter a persistência das sessões HTTP. Ele funciona da seguinte forma: Um usuário solicita uma página da Web, nisso o servidor pode fornecer informações adicionais acompanhando a página solicitada. Essas informações podem incluir um cookie, um pequeno arquivo ou string (com quatro KB no máximo). Este cookie pode ter até 5 campos (figura abaixo): Domain, Path, Content, Expires, Secure. Domain informa de onde veio o cookie. O navegador confirma que os servidores estão enviando dados fieis a respeito de seu domínio. Cada domínio pode armazenar no máximo 20 cookies por cliente. O campo Path é um caminho na estrutura de diretórios do servidor que identifica as partes da árvore de arquivos do servidor que podem usar o cookie. Frequentemente, ele obtém o símbolo / (barra), que representa a árvore inteira. O campo Content utiliza a forma nome = valor, podendo o servidor definir da maneira que quiser tanto o valor quanto o nome, e é nele que fica armazenado o conteúdo do cookie. Expires é o campo que faz o cookie persistir, nele contém a data e o horário, e se ele estiver ausente o navegador descartara automaticamente após o termino da sessão. O último campo define se ele é seguro ou não.

Domain
Path
Content
Expires
Secure
toms-casino.com
**/**CustomerlD=497793521
15 de outubro de 2002

17:00

**Yes**joes-store.com
**/**Cart=1-00501;1-07031;2-13721
11 de outubro de 2002

14:22

**No**aportal.com
**/**Prefs=Stk:SUNW+ORCL;Spt:Jet

s

31 de dezembro de 2010

23:59

**No**sneaky.com 31-
**/**UserID=3627239101
12-12

23:59

**No**

Figura x: Alguns exemplos de cookie.↵Fonte: (TANEMBAUM, 2003).

O cookie é usado para identificar um usuário que configurou uma página web, para que na próxima vez que ele entrar ela esteja configurada do modo em que ele deixou. Pode ser usado também quando se faz a solicitação de armazenamento de senha, na vez posterior em que entrar no site, a sua senha será lembrada. É usado também em sites de compra, como e-commerce, armazenando os produtos que o cliente colocou no carrinho para que no final da compra não necessite fazer todo o processo novamente.

## Funcionamento

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=5 "Editar secção: Funcionamento") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=5 "Editar código-fonte da secção: Funcionamento")\]

Um sistema de comunicação em rede possui diversos protocolos que trabalham em conjunto para o fornecimento de serviços. Para que o protocolo HTTP consiga transferir seus dados pela Web, é necessário que os protocolos [TCP](/wiki/TCP "TCP") e [IP](/wiki/IP "IP") ( _Internet Protocol_, Protocolo de Internet) tornem possível a conexão entre clientes e servidores através de _[sockets](/wiki/Socket "Socket")_ [TCP/IP](/wiki/TCP/IP "TCP/IP").

De acordo com Fielding,[\[7\]](#cite_note-7) o HTTP utiliza o modelo [cliente-servidor](/wiki/Cliente-servidor "Cliente-servidor"), como a maioria dos protocolos de rede, baseando-se no paradigma de requisição e resposta. Um programa requisitante (cliente) estabelece uma conexão com um outro programa receptor (servidor) e envia-lhe uma requisição, contendo a [URI](/wiki/URI "URI"), a versão do protocolo, uma mensagem [MIME](/wiki/MIME "MIME") (padrão utilizado para codificar dados em formato de textos ASCII para serem transmitidos pela Internet) contendo os modificadores da requisição, informações sobre o cliente e, possivelmente, o conteúdo no corpo da mensagem.

O servidor responde com uma linha de status ( _status line_) incluindo sua versão de protocolo e com os códigos de erro informando se a operação foi bem sucedida ou fracasso, seguido pelas informações do servidor, [metainformações](/wiki/Metainforma%C3%A7%C3%A3o "Metainformação") da entidade e possível conteúdo no corpo da mensagem. Após o envio da resposta pelo servidor, encerra-se a conexão estabelecida.

## Mensagem HTTP

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=6 "Editar secção: Mensagem HTTP") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=6 "Editar código-fonte da secção: Mensagem HTTP")\]

O protocolo HTTP faz a comunicação entre o cliente e o servidor por meio de mensagens. O cliente envia uma mensagem de requisição de um recurso e o servidor envia uma mensagem de resposta ao cliente com a solicitação. Segundo Foscarini,[\[8\]](#cite_note-8) os dois tipos de mensagens existentes no protocolo utilizam um formato genérico, definido na [RFC 822](https://tools.ietf.org/html/rfc822), para a transferência de entidades.

Uma mensagem, tanto de requisição quanto de resposta, é composta, conforme definido na [RFC 2616](https://tools.ietf.org/html/rfc2616),[\[9\]](#cite_note-9) por uma linha inicial, nenhuma ou mais linhas de cabeçalhos, uma linha em branco obrigatória finalizando o cabeçalho e por fim o corpo da mensagem, opcional em determinados casos. Nessa sessão serão apresentados os campos que compõem uma mensagem mais detalhadamente; ou seja, o HTTP apresenta o sítio ou local onde está a página da Internet.

### Cabeçalho da mensagem

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=7 "Editar secção: Cabeçalho da mensagem") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=7 "Editar código-fonte da secção: Cabeçalho da mensagem")\]

O cabeçalho da mensagem ( _[header](/wiki/Header "Header")_) é utilizado para transmitir informações adicionais entre o cliente e o servidor. Ele é especificado imediatamente após a linha inicial da transação (método), tanto para a requisição do cliente quanto para a resposta do servidor, seguido de dois pontos (:) e um valor. Existem quatro tipos de cabeçalhos que poderão ser incluídos na mensagem os quais são: _general-header_, _request-header_, _response-header_ e _entity-header_.[\[10\]](#cite_note-10)

Esses cabeçalhos são utilizados para enviar informações adicionais sobre a mensagem transmitida ( _general-header_), a requisição e os clientes ( _request-header_) que comunicam suas configurações e os formatos de documentos desejados como resposta.[\[11\]](#cite_note-11) Além disso, são utilizados pelo servidor ao retornar o recurso no qual foi requisitado pelo cliente, para transmitir informações que descrevem as configurações do servidor e do recurso identificado pelo URI de requisição, e que não pertence à linha de status ( _response-header_). Na [RFC 2616](https://tools.ietf.org/html/rfc2616),[\[12\]](#cite_note-12) estão descritos todos os campos que pertencem a esses cabeçalhos.

Alguns tipos MIME[\[13\]](#cite_note-13)ExemploDescrição
text/plainArquivo no formato texto (ASCII)
text/htmlArquivo no formato [HTML](/wiki/HTML "HTML"), utilizado

como padrão para documentos Web
Image/gifImagem com o formato [GIF](/wiki/GIF "GIF")Image/jpegImagem com o formato [JPEG](/wiki/JPEG "JPEG")application/zipArquivo [compactado](/wiki/Compactador_de_arquivos "Compactador de arquivos")application/jsonArquivo no formato [JSON](/wiki/JSON "JSON")application/xml (ou text/xml)Arquivo no formato [XML](/wiki/XML "XML")

### Corpo da mensagem

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=8 "Editar secção: Corpo da mensagem") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=8 "Editar código-fonte da secção: Corpo da mensagem")\]

Uma mensagem HTTP pode conter um corpo de dados que são enviados abaixo das linhas de cabeçalho. Em uma mensagem de resposta, o corpo da mensagem é o recurso que foi requisitado pelo cliente, ou ainda uma mensagem de erro, caso este recurso não seja possível. Já em uma mensagem de requisição, o corpo pode conter dados que serão enviados diretamente pelo usuário ou um arquivo que será enviado para o servidor. Quando uma mensagem HTTP tiver um corpo, poderão ser incluídos cabeçalhos de entidades que descrevem suas características, como por exemplo, o _Content-Type_ que informa o tipo MIME dos dados no corpo da mensagem e o _Content-Length_ que informa a quantidade de bytes que o corpo da mensagem contém. A tabela ao lado apresenta alguns tipos MIME.

### Requisição

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=9 "Editar secção: Requisição") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=9 "Editar código-fonte da secção: Requisição")\]

De acordo com Fielding,[\[14\]](#cite_note-14) uma mensagem de requisição do cliente é composta pelos seguintes campos: uma linha inicial ( _Request-Line_); linhas de cabeçalhos ( _Request-header_); uma linha em branco obrigatória e um corpo de mensagem opcional. A linha inicial de uma requisição é composta por três partes separadas por espaços: o método ( _Method_), a identificação do URI ( _Request-URI_) e a versão do HTTP ( _HTTP-Version_) utilizado.

Segundo Bastos & Ladeira,[\[15\]](#cite_note-15) _Request-URI_ é um _identificador uniforme de recurso_ (Uniform Resource Identifier) que identifica sobre qual recurso será aplicada a requisição. No protocolo HTTP, o tipo de URI utilizado é chamado de URL (Uniform Resource Locator), composto pela identificação do protocolo, pelo endereço do computador servidor e pelo documento requisitado.[\[16\]](#cite_note-16)

## Métodos de solicitação

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=10 "Editar secção: Métodos de solicitação") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=10 "Editar código-fonte da secção: Métodos de solicitação")\]

O protocolo HTTP define oito métodos (GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS e CONNECT) que indicam a ação a ser realizada no recurso especificado. Conforme Bastos e Ladeiras,[\[17\]](#cite_note-17) o método determina o que o servidor deve fazer com o URL fornecido no momento da requisição de um recurso. Um [servidor HTTP](/wiki/Servidor_HTTP "Servidor HTTP") deve implementar ao menos os métodos GET e HEAD. Os métodos GET e POST são os que aparecem mais comumente durante o [desenvolvimento web](/wiki/Desenvolvimento_web "Desenvolvimento web").

Uma **solicitação HTTP**, ou _HTTP Request_ é uma maneira do [navegador](/wiki/Navegador_(inform%C3%A1tica) "Navegador (informática)") mostrar uma [página da internet](/wiki/Site "Site") utilizando um dos oito métodos de solicitação do protocolo HTTP.[\[18\]](#cite_note-HTTP_Request-18)

Além de solicitar um determinado arquivo, envia várias informação para o servidor, sendo elas: o seu [IP](/wiki/IP "IP"), a versão do navegador que está usando, que página utilizou para pedir a _HTTP Request_ e a idioma que você usa, entre outros.[\[18\]](#cite_note-HTTP_Request-18)

### GET

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=11 "Editar secção: GET") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=11 "Editar código-fonte da secção: GET")\]

O método GET requisita uma representação do recurso especificado. Requisições usando GET devem apenas [recuperar dados](/w/index.php?title=Recuperar_dados&action=edit&redlink=1 "Recuperar dados (página não existe)") e não devem ter qualquer outro efeito. (Isto também é verdade para alguns outros métodos HTTP.) O [W3C](/wiki/W3C "W3C") publicou princípios de orientações sobre esta distinção, "O projeto de [aplicações web](/wiki/Aplica%C3%A7%C3%A3o_web "Aplicação web") devem ser informados pelos princípios acima, mas também por limitações relevantes."

Abaixo segue um exemplo de uma comunicação entre um cliente e um servidor HTTP. O servidor possui a URL `www.exemplo.com`, porta 80.

O _pedido do cliente_ (seguido por uma linha em branco, de maneira que o pedido termina com um _[newline](/wiki/Newline "Newline")_ duplo, cada um composto por um _[carriage return](/wiki/Carriage_return "Carriage return")_ seguido de um _[Line Feed](/wiki/Line_Feed "Line Feed")_):

```
GET /index.html HTTP/1.1
Host: www.exemplo.com

```

O cabeçalho `Host` reconhece vários diferentes nomes [DNS](/wiki/Domain_Name_System "Domain Name System") que tenham o mesmo [IP](/wiki/IP "IP").

A _resposta do servidor_ (seguida por uma linha em branco e o texto da página solicitada):

```
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
Etag: "3f80f-1b6-3e1cb03b"
Accept-Ranges: bytes
Content-Length: 438
Connection: close
Content-Type: text/html; charset=UTF-8

```

### HEAD

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=12 "Editar secção: HEAD") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=12 "Editar código-fonte da secção: HEAD")\]

Variação do `GET` em que o recurso não é retornado. É usado para obter [metainformações](/wiki/Metainforma%C3%A7%C3%A3o "Metainformação") por meio do cabeçalho da resposta, sem ter que recuperar todo o conteúdo.

### POST

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=13 "Editar secção: POST") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=13 "Editar código-fonte da secção: POST")\]

![](//upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Magnifying_glass_01.svg/17px-Magnifying_glass_01.svg.png)Ver artigo principal: [POST (HTTP)](/wiki/POST_(HTTP) "POST (HTTP)")

Envia dados para serem processados (por exemplo, dados de um formulário HTML) para o recurso especificado. Os dados são incluídos no corpo do comando. Sua utilização em uma requisição ocorre quando é necessário enviar dados ao servidor para serem processados, geralmente por um programa _script_ identificado no _Request-URI_. Uma requisição por meio desse método sempre requer que as informações submetidas sejam incluídas no corpo da mensagem e formatadas como uma _query string_, além de conter cabeçalhos adicionais especificando seu tamanho ( `Content-Length`) e seu formato ( `Content-Type`). Por isso, esse método oferece uma maior segurança em relação aos dados transferidos, ao contrário do método `GET` que os dados são anexados a URL, ficando visíveis ao usuário.[\[19\]](#cite_note-19) Por exemplo:

```
 POST /index.html HTTP/1.0
 Accept: text/html
 If-modified-since: Sat, 29 Oct 1999 19:43:31 GMT
 Content-Type: application/x-www-form-urlencoded
 Content-Length: 41

```

```
 Nome=NomePessoa&Idade=99&Curso=Computacao

```

### PUT

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=14 "Editar secção: PUT") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=14 "Editar código-fonte da secção: PUT")\]

O método PUT envia os dados de forma semelhante ao POST, através do corpo do HTTP a diferença entre os 2 métodos é semântica. Por exemplo:

Caso você necessite atualizar os dados de um usuário, utilizando o método PUT você pode os atualizar diversas vezes, pois o PUT vai sobrescrever os dados com isso ficará somente com um único registro atualizado.

Se você executasse este mesmo procedimento utilizando o método POST, você criaria diversos registros para cada requisição realizada.

### DELETE

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=15 "Editar secção: DELETE") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=15 "Editar código-fonte da secção: DELETE")\]

Exclui o recurso.

### TRACE

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=16 "Editar secção: TRACE") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=16 "Editar código-fonte da secção: TRACE")\]

Ecoa o pedido, de maneira que o cliente possa saber o que os servidores intermediários estão mudando em seu pedido.

### OPTIONS

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=17 "Editar secção: OPTIONS") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=17 "Editar código-fonte da secção: OPTIONS")\]

Recupera os métodos HTTP que o servidor aceita.

### CONNECT

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=18 "Editar secção: CONNECT") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=18 "Editar código-fonte da secção: CONNECT")\]

Serve para uso com um _proxy_ que possa se tornar um túnel [SSL](/wiki/SSL "SSL") e TLS (um túnel pode ser usado, por exemplo, para criar uma conexão segura).

## Códigos de estado

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=19 "Editar secção: Códigos de estado") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=19 "Editar código-fonte da secção: Códigos de estado")\]

_Ver também: [Lista de códigos de status HTTP](/wiki/Lista_de_c%C3%B3digos_de_status_HTTP "Lista de códigos de status HTTP")_

Do HTTP/1.0 em diante, a primeira linha da resposta HTTP é chamada _linha de estado_ e inclui um _código de estado_ numérico (como " [404](/wiki/HTTP_404 "HTTP 404")") e uma _frase de razão_ textual (como "Not Found" - Não Encontrado). A maneira que o [agente de usuário](/wiki/Agente_de_usu%C3%A1rio "Agente de usuário") manipula a resposta depende primeiramente do código e secundariamente nos [cabeçalhos de resposta](/w/index.php?title=Cabe%C3%A7alhos_de_resposta&action=edit&redlink=1 "Cabeçalhos de resposta (página não existe)"). Códigos de estado personalizados podem ser usados, uma vez que, se o agente de usuário encontrar um código que ele não reconheça, ele pode usar o primeiro dígito do código para determinar a classe geral da resposta.

Da mesma forma, as _frases de razão_ padrões são apenas recomendações e podem ser substituídas com "equivalentes locais" a critério do desenvolvedor web. Se o código de estado indicou um problema, o agente de usuário pode mostrar a _frase de razão_ para o usuário, para que sejam fornecidas informações adicionais sobre a natureza do problema. O padrão também permite que o agente de usuário tente interpretar a _frase de razão_, apesar disto poder ser imprudente uma vez que o padrão especifica explicitamente que os códigos de estado são legíveis por máquina e as _frases de razão_ são legíveis por homens.

## Conexões persistentes

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=20 "Editar secção: Conexões persistentes") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=20 "Editar código-fonte da secção: Conexões persistentes")\]

![](//upload.wikimedia.org/wikipedia/commons/thumb/3/3a/Magnifying_glass_01.svg/17px-Magnifying_glass_01.svg.png)Ver artigo principal: [Conexão persistente HTTP](/w/index.php?title=Conex%C3%A3o_persistente_HTTP&action=edit&redlink=1 "Conexão persistente HTTP (página não existe)")

No HTTP/0.9 e 1.0, a conexão é fechada após um único par de requisição/resposta. No HTTP/1.1 um mecanismo de persistência de vida (keep-alive) foi introduzido, onde uma conexão pode ser reutilizada para mais de uma requisição. Tais _conexões persistentes_ reduzem a [latência](/wiki/Lat%C3%AAncia "Latência") de requisição perceptível, pois o cliente não precisa renegociar a conexão TCP após a primeira requisição ter sido enviada. Outro efeito colateral positivo é que em geral a conexão se torna mais rápida com o tempo devido ao mecanismo de [início-lento](/wiki/In%C3%ADcio-lento "Início-lento") do TCP.

A versão 1.1 do protocolo também faz melhoras na otimização de comprimento de banda para o HTTP/1.0. Por exemplo, o HTTP/1.1 introduziu a [codificação de transferência em partes](/w/index.php?title=Codifica%C3%A7%C3%A3o_de_transfer%C3%AAncia_em_partes&action=edit&redlink=1 "Codificação de transferência em partes (página não existe)") para permitir que o conteúdo em conexões persistentes sejam transmitidos em vez de armazenados temporariamente para posterior transmissão. O [pipelining HTTP](/w/index.php?title=Pipelining_HTTP&action=edit&redlink=1 "Pipelining HTTP (página não existe)") reduz ainda mais o tempo de atraso, permitindo que os clientes enviem várias requisições antes de esperar por cada resposta. Outra melhoria para o protocolo foi o [byte serving](/w/index.php?title=Byte_serving&action=edit&redlink=1 "Byte serving (página não existe)"), onde um servidor transmite apenas a porção de um recurso solicitado explicitamente por um cliente.

## Estado de sessão HTTP

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=21 "Editar secção: Estado de sessão HTTP") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=21 "Editar código-fonte da secção: Estado de sessão HTTP")\]

O HTTP é um [protocolo sem estado](/wiki/Protocolo_sem_estado "Protocolo sem estado"). Um protocolo sem estado não exige que o servidor HTTP retenha informações ou estado sobre cada usuário para a duração de várias solicitações. Entretanto, algumas [aplicações web](/wiki/Aplica%C3%A7%C3%A3o_web "Aplicação web") implementam estado ou [sessões do lado servidor](/wiki/Sess%C3%A3o_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) "Sessão (ciência da computação)") usando um ou mais de um dos métodos a seguir:

- [Variáveis ocultas](/w/index.php?title=Vari%C3%A1vel_oculta&action=edit&redlink=1 "Variável oculta (página não existe)") dentro de [formulários web](/w/index.php?title=Formul%C3%A1rio_(HTML)&action=edit&redlink=1 "Formulário (HTML) (página não existe)");
- [Cookies HTTP](/wiki/Cookie_(inform%C3%A1tica) "Cookie (informática)");
- Parâmetros de [query string](/w/index.php?title=Query_string&action=edit&redlink=1 "Query string (página não existe)"), por exemplo, /index.php?session\_id=algum\_código\_único\_de\_sessão.

## Resposta

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=22 "Editar secção: Resposta") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=22 "Editar código-fonte da secção: Resposta")\]

Para Fielding,[\[20\]](#cite_note-20) uma mensagem de resposta do servidor é composta pelos seguintes campos: uma linha inicial ( _Status-Line_); linhas de cabeçalhos ( _Responseheader_); uma linha em branco obrigatória e um corpo de mensagem opcional. A linha inicial de uma resposta, chamada de linha de status, possui por sua vez três partes separadas por espaços: a versão do protocolo HTTP ( _HTTP-Version_), um código de status ( _Status-Code_) da resposta, que fornece o resultado da requisição, e uma frase de justificativa ( _Reason-Phrase_) que descreve o código do status.

### Códigos de retorno

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=23 "Editar secção: Códigos de retorno") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=23 "Editar código-fonte da secção: Códigos de retorno")\]

A linha inicial de uma resposta HTTP indica ao cliente se sua requisição foi bem sucedida ou não.[\[21\]](#cite_note-21) Essa situação é fornecida através de um código de retorno ( _Status-Code_) e uma frase explicativa ( _Reason-Phrase_). De acordo com Fielding,[\[22\]](#cite_note-22) o código de status é formado por três dígitos e o primeiro dígito representa a classe que pertence classificada em cinco tipos:

- _1xx_: _Informational_ (Informação) – utilizada para enviar informações para o cliente de que sua requisição foi recebida e está sendo processada;
- _2xx_: _Success_ (Sucesso) – indica que a requisição do cliente foi bem sucedida;
- _3xx_: _Redirection_ (Redirecionamento) – informa a ação adicional que deve ser tomada para completar a requisição;
- _4xx_: _Client Error_ (Erro no cliente) – avisa que o cliente fez uma requisição que não pode ser atendida;
- _5xx_: _Server Error_ (Erro no servidor) – ocorreu um erro no servidor ao cumprir uma requisição válida.

O protocolo HTTP define somente alguns códigos em cada classe descritos na [RFC 2616](https://tools.ietf.org/html/rfc2616), mas cada servidor pode definir seus próprios códigos.

### Conexões

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=24 "Editar secção: Conexões") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=24 "Editar código-fonte da secção: Conexões")\]

Segundo Hirata,[\[23\]](#cite_note-23) o HTTP/1.0 é um protocolo sem estado. Isto significa que as conexões entre um cliente e um servidor são encerradas após o envio de cada requisição ou resposta. Cada vez que uma conexão é estabelecida ou encerrada, é consumida uma grande quantidade de tempo da CPU, de largura de banda e de memória.

Na maioria das vezes, para se obter o resultado esperado, é necessário realizar mais de uma solicitação de recursos através de várias conexões. Por exemplo, no caso de uma página Web, que consiste de diversos arquivos (.html, .gif, .css, etc.) é preciso que sejam feitas várias requisições para compor a página, uma conexão não-persistente. O ideal seria que apenas uma conexão fosse utilizada para os pedidos e as respostas HTTP, diminuindo, assim, a [sobrecarga](/wiki/Overhead "Overhead") ocasionada pelas conexões, uma conexão persistente.

A conexão persistente, implementada como conexão padrão no protocolo HTTP/1.1, possibilita que uma conexão seja estabelecida para enviar várias requisições em seqüência sem a necessidade de esperar por cada resposta, no qual serão recebidas na mesma ordem em que as solicitações foram enviadas, um processo chamado de _pipelining_.[\[24\]](#cite_note-24) Pode também dar-se o caso de ser estabelecida uma conexão sem _pipelining_, em que o cliente só faz nova requisição quando o servidor lhe envia a resposta, ou seja, o servidor fica inactivo até o objecto (.html, .gif, .css, etc) atingir o seu destino no cliente.

Se uma requisição incluir o cabeçalho `Connection: close`, a conexão será encerrada após o envio da resposta correspondente. Utiliza-se este cabeçalho quando não há suporte a conexões persistentes, quando for a última requisição a ser enviada nesta conexão, ou ainda, sempre que quiser encerrar a conexão mesmo que nem todas as requisições tenham sido completadas. Além disso, o servidor pode fechar uma conexão se estiver ociosa por um determinado período de tempo.

### Outros protocolos

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=25 "Editar secção: Outros protocolos") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=25 "Editar código-fonte da secção: Outros protocolos")\]

Existem outros tipos de protocolos como o [FTP](/wiki/FTP "FTP") (File Transfer Protocol, ou Protocolo de Transferência de Arquivos), usado para envio de arquivos do computador para um servidor na Web, o [SMTP](/wiki/SMTP "SMTP") (Simple Mail Transfer Protocol, ou Protocolo de Transferência de Correio Simples), protocolo usado para [correio eletrônico](/wiki/Correio_eletr%C3%B4nico "Correio eletrônico"), entre outros protocolos.

## Esquema de comunicação

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=26 "Editar secção: Esquema de comunicação") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=26 "Editar código-fonte da secção: Esquema de comunicação")\]

Pedido básico de HTTP cliente-servidor:

```
GET <ficheiro> HTTP/1.1
Host: <ip>
User-Agent: <Agente>
Connection: <tipo>

```

O agente é quem faz a ligação ao servidor, normalmente um [navegador](/wiki/Navegador_(inform%C3%A1tica) "Navegador (informática)"). O tipo indica como o servidor deve proceder com a conexão. É comumente utilizado para requisições persistentes.

Uma requisição completa pode exigir muitas informações. A requisição abaixo - utilizando o método POST - fora retirada do [Mozilla Firefox](/wiki/Mozilla_Firefox "Mozilla Firefox") v3.6b5 (pt-BR, para Windows):

```
POST /diretorio/arquivo.html HTTP/1.1
Host: www.exemplo.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pt-BR; rv:1.9.2b5) Gecko/20091204 Firefox/3.6b5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: pt-br,pt;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-alive: 115
Cookie: nome=valor; nome2=valor2
Connection: keep-alive
Content-Length: 28

```

```
usuario=exemplo&senha=123456

```

## Ver também

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=27 "Editar secção: Ver também") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=27 "Editar código-fonte da secção: Ver também")\]

- [HTTP/2](/wiki/HTTP/2 "HTTP/2") \- Revisão do HTTP baseada no SPDY
- [HTTP/3](/wiki/HTTP/3 "HTTP/3") \- Revisão do HTTP baseada no QUIC
- [HTTP referrer](/wiki/HTTP_referrer "HTTP referrer")
- [Hyper Text Transfer Protocol Secure (HTTPS)](/wiki/Hyper_Text_Transfer_Protocol_Secure "Hyper Text Transfer Protocol Secure")
- [Internet Relay Chat](/wiki/Internet_Relay_Chat "Internet Relay Chat")
- [Lista de códigos de status HTTP](/wiki/Lista_de_c%C3%B3digos_de_status_HTTP "Lista de códigos de status HTTP")
- [QUIC](/wiki/QUIC "QUIC") – Protocolo de aplicação que usa o [UDP](/wiki/User_Datagram_Protocol "User Datagram Protocol") no lugar do [TCP](/wiki/Transmission_Control_Protocol "Transmission Control Protocol")
- [Representational State Transfer](/wiki/Representational_State_Transfer "Representational State Transfer") (REST)
- [Sistema de Arquivos Interplanetário](/wiki/Sistema_de_Arquivos_Interplanet%C3%A1rio "Sistema de Arquivos Interplanetário")
- [SPDY](/wiki/SPDY "SPDY") – Um aprimoramento do HTTP proposto pela [Google](/wiki/Google "Google")
- [Telnet](/wiki/Telnet "Telnet")
- [Web cache](/wiki/Web_cache "Web cache")
- [WebSockets](/wiki/WebSockets "WebSockets")
- [World Wide Web (WWW)](/wiki/World_Wide_Web "World Wide Web")

## Referências

01. [↑](#cite_ref-T._Berners-Lee_et_all,_1996_1-0)T. Berners-Lee et all, 1996
02. [↑](#cite_ref-2)Mark Nottingham (7 de Junho de 2014). [«RFC2016 está morto»](https://www.mnot.net/blog/2014/06/07/rfc2616_is_dead) (em inglês). Mark Nottingham. Consultado em 13 de junho de 2015
03. [↑](#cite_ref-3)[«HTTP/2: Internet mais rápida»](http://www.psafe.com/blog/http2-internet-mais-rapida/)
04. [↑](#cite_ref-4)[«Hypertext Transfer Protocol Version 3 (HTTP/3)»](https://quicwg.org/base-drafts/draft-ietf-quic-http.html)
05. [↑](#cite_ref-5)Macedo, Ricardo, Tombesi (2018). _REDES DE COMPUTADORES_. Santa Maria: \[s.n.\] p. 139
06. ↑ _**[a](#cite_ref-Fielding_et_al_1999,_p._7_6-0)**__**[b](#cite_ref-Fielding_et_al_1999,_p._7_6-1)**_Fielding et al 1999, p. 7
07. [↑](#cite_ref-7)Fielding et al (1999, p. 10)
08. [↑](#cite_ref-8)Foscarini (2001, p. 13)
09. [↑](#cite_ref-9)Fielding et al, 1999, p. 21
10. [↑](#cite_ref-10)cf. Fielding et al, 1999, p. 21
11. [↑](#cite_ref-11)cf. Bastos & Ladeira, 2001
12. [↑](#cite_ref-12)cf. Fielding et al, 1999
13. [↑](#cite_ref-13)Fielding et al, 1999
14. [↑](#cite_ref-14)Fielding (1999, p. 24)
15. [↑](#cite_ref-15)Bastos & Ladeira
16. [↑](#cite_ref-16)cf. Embratel, 2002
17. [↑](#cite_ref-17)Bastos & Ladeiras (2001)
18. ↑ _**[a](#cite_ref-HTTP_Request_18-0)**__**[b](#cite_ref-HTTP_Request_18-1)**_[«O que é um 'HTTP request'?»](http://www.portais.ws/?page=art_det&ida=1354). www.portais.ws. Consultado em 15 de março de 2011
19. [↑](#cite_ref-19)Herrmann, 1997
20. [↑](#cite_ref-20)Fielding et al (1999, p. 26)
21. [↑](#cite_ref-21)cf. Herrman, 1997, p. 53
22. [↑](#cite_ref-22)Fielding et al (1999, p. 37)
23. [↑](#cite_ref-23)Hirata, 1999
24. [↑](#cite_ref-24)cf. Fielding et al, 1999, p. 30

## Bibliografia

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=28 "Editar secção: Bibliografia") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=28 "Editar código-fonte da secção: Bibliografia")\]

- T. Berners-Lee, R. Fielding, H. Frystyk (maio de 1996). [«Hypertext Transfer Protocol -- HTTP/1.0»](https://web.archive.org/web/20050505112439/http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=RFC) (em inglês). [Internet Engineering Task Force](/wiki/Internet_Engineering_Task_Force "Internet Engineering Task Force"). Consultado em 21 de junho de 2009. Arquivado do [original](http://www.rfc-editor.org/cgi-bin/rfcdoctype.pl?loc=RFC&letsgo=1945&type=ftp&file_format=txt) em 5 de maio de 2005 !CS1 manut: Nomes múltiplos: lista de autores ( [link](/wiki/Categoria:!CS1_manut:_Nomes_m%C3%BAltiplos:_lista_de_autores "Categoria:!CS1 manut: Nomes múltiplos: lista de autores"))
- BASTOS, Leonara de Oliveira; LADEIRA, Adriane Cristina. Protocolo HTTP.
- cf. 46 HERRMANN, Eric. Aprenda em 1 semana programação CGI em Perl 5. Rio de Janeiro: Campus, 1997
- MACEDO, R. T. et al. Redes de computadores. 1. ed, 2018, Santa Maria, RS. p. 139.

## Ligações externas

\[ [editar](/w/index.php?title=Hypertext_Transfer_Protocol&veaction=edit&section=29 "Editar secção: Ligações externas") \| [editar código-fonte](/w/index.php?title=Hypertext_Transfer_Protocol&action=edit&section=29 "Editar código-fonte da secção: Ligações externas")\]

- [«Desenvolvimento do protocolo HTTP»](https://www.w3.org/Protocols/) (em inglês)
- [«Desmistificando o protocolo HTTP»](https://www.alura.com.br/artigos/desmistificando-o-protocolo-http-parte-1)

- [v](/wiki/Predefini%C3%A7%C3%A3o:Navegadores_web "Predefinição:Navegadores web")
- [d](/w/index.php?title=Predefini%C3%A7%C3%A3o_Discuss%C3%A3o:Navegadores_web&action=edit&redlink=1 "Predefinição Discussão:Navegadores web (página não existe)")
- [e](https://pt.wikipedia.org/w/index.php?title=Predefini%C3%A7%C3%A3o:Navegadores_web&action=edit)

[Navegadores web](/wiki/Navegador_web "Navegador web")

- [Lista](/wiki/Lista_de_navegadores "Lista de navegadores")

Recursos

- [Cookies](/wiki/Cookie_(inform%C3%A1tica) "Cookie (informática)")
- [Favicon](/wiki/Favicon "Favicon")
- [Favoritos](/wiki/Internet_bookmark "Internet bookmark")
  - [Bookmarklet](/wiki/Bookmarklet "Bookmarklet")
  - [Live bookmark](/wiki/Recursos_do_Mozilla_Firefox#Live_Bookmarks "Recursos do Mozilla Firefox")
- [Gerenciador de downloads](/wiki/Gerenciador_de_downloads "Gerenciador de downloads")
- [Navegação privada](/wiki/Navega%C3%A7%C3%A3o_privada "Navegação privada")
- [Plug-in](/wiki/Plug-in "Plug-in")

Padrões web

- [CSS](/wiki/Cascading_Style_Sheets "Cascading Style Sheets")
- [HTML](/wiki/HTML "HTML")
- [HTML5](/wiki/HTML5 "HTML5")
- [JavaScript](/wiki/JavaScript "JavaScript")
- [MathML](/wiki/MathML "MathML")
- [SVG](/wiki/SVG "SVG")
- [WebAssembly](/wiki/WebAssembly "WebAssembly")
- [WebGL](/wiki/WebGL "WebGL")
- [XHTML](/wiki/XHTML "XHTML")

Tópicos relacionados

- [Aplicações de internet rica](/wiki/Internet_rica "Internet rica")
- HTTP
  - [V2](/wiki/HTTP/2 "HTTP/2")
  - [V3](/wiki/HTTP/3 "HTTP/3")
  - [HTTPS](/wiki/Hyper_Text_Transfer_Protocol_Secure "Hyper Text Transfer Protocol Secure")
- [Internet móvel](/wiki/Internet_m%C3%B3vel "Internet móvel")
- [Pwn2Own](/wiki/Pwn2Own "Pwn2Own")
- [QUIC](/wiki/QUIC "QUIC")
- [SPDY](/wiki/SPDY "SPDY")
- [SSL/TLS](/wiki/Transport_Layer_Security "Transport Layer Security")
- [Suíte de internet](/wiki/Su%C3%ADte_de_internet "Suíte de internet")
- [WebSocket](/wiki/WebSocket "WebSocket")
- [Widget](/wiki/Widget "Widget")
- [World Wide Web](/wiki/World_Wide_Web "World Wide Web")
- [WPAD](/wiki/WPAD "WPAD")
- [XML](/wiki/XML "XML")

[Desktop](/wiki/Desktop "Desktop")

Baseados em [Blink](/wiki/Blink_(motor_de_layout) "Blink (motor de layout)")

- [Arc](/wiki/Arc_(navegador) "Arc (navegador)")
- [Brave](/wiki/Brave_(navegador) "Brave (navegador)")
- [Chrome](/wiki/Google_Chrome "Google Chrome")
- [Chromium](/wiki/Chromium "Chromium")
- [Dragon](/wiki/Comodo_Dragon "Comodo Dragon")
- [Opera](/wiki/Opera "Opera")
- [Sleipnir](/wiki/Sleipnir_(navegador_web) "Sleipnir (navegador web)")
- [SRWare Iron](/wiki/SRWare_Iron "SRWare Iron")
- [UC Browser](/wiki/UC_Browser "UC Browser")
- [Vivaldi](/wiki/Vivaldi_(navegador_web) "Vivaldi (navegador web)")

Baseados em [Gecko](/wiki/Gecko_(motor_de_layout) "Gecko (motor de layout)")

- Avant
- [Firefox](/wiki/Mozilla_Firefox "Mozilla Firefox")
- [GNU IceCat](/wiki/GNU_IceCat "GNU IceCat")
- [K-Meleon](/wiki/K-Meleon "K-Meleon")
- _[Mozilla](/wiki/Mozilla_Application_Suite "Mozilla Application Suite")_
- [SeaMonkey](/wiki/SeaMonkey "SeaMonkey")

Baseados em [Trident](/wiki/Trident_(motor_de_layout) "Trident (motor de layout)")

- Avant
- _[Internet Explorer](/wiki/Internet_Explorer "Internet Explorer")_
- [Maxthon](/wiki/Maxthon "Maxthon")

Baseados em [WebKit](/wiki/WebKit "WebKit")

- Avant
- [Dooble](/wiki/Dooble_(navegador_web) "Dooble (navegador web)")
- [Konqueror](/wiki/Konqueror "Konqueror")
- [Maxthon](/wiki/Maxthon "Maxthon")
- [Midori](/wiki/Midori_(navegador_web) "Midori (navegador web)")
- [OmniWeb](/wiki/OmniWeb "OmniWeb")
- [Safari](/wiki/Safari "Safari")
- [Web](/wiki/GNOME_Web "GNOME Web")

Baseados em texto

- _[Emacs/W3](/wiki/GNU_Emacs "GNU Emacs")_
- [Links](/wiki/Links "Links")
  - [ELinks](/wiki/ELinks "ELinks")
- [Lynx](/wiki/Lynx_(navegador_web) "Lynx (navegador web)")

Outros

- [Microsoft Edge](/wiki/Microsoft_Edge "Microsoft Edge")
- [Pale Moon](/wiki/Pale_Moon "Pale Moon")

[Móvel](/wiki/Internet_m%C3%B3vel "Internet móvel")

Baseado em [Blink](/wiki/Blink_(motor_de_layout) "Blink (motor de layout)")

- [Chrome](/wiki/Google_Chrome "Google Chrome")
- [Opera Mobile](/wiki/Opera_Mobile "Opera Mobile")
- [Vivaldi](/wiki/Vivaldi_(navegador_web) "Vivaldi (navegador web)")

Baseado em [Gecko](/wiki/Gecko_(motor_de_layout) "Gecko (motor de layout)")

- [Firefox para Android](/wiki/Firefox_para_Android "Firefox para Android")
- _[Minimo](/wiki/Minimo "Minimo")_

Baseado em [Presto](/wiki/Presto_(motor_de_renderiza%C3%A7%C3%A3o) "Presto (motor de renderização)")

- [Opera Mini](/w/index.php?title=Opera_Mini&action=edit&redlink=1 "Opera Mini (página não existe)")

Baseado em [Trident](/wiki/Trident_(motor_de_layout) "Trident (motor de layout)")

- [Maxthon](/wiki/Maxthon "Maxthon")

Baseado em [WebKit](/wiki/WebKit "WebKit")

- [Maxthon](/wiki/Maxthon "Maxthon")
- [Safari](/wiki/Safari "Safari")

Outros

- _[Internet Explorer Mobile](/wiki/Internet_Explorer_Mobile "Internet Explorer Mobile")_
- [Konqueror Embedded](/wiki/Konqueror#Konqueror_Embedded "Konqueror")
- [Microsoft Edge](/wiki/Microsoft_Edge "Microsoft Edge")
- [Samsung Internet](/wiki/Samsung_Internet "Samsung Internet")
- [UC Browser](/wiki/UC_Browser "UC Browser")

[Televisores](/wiki/Televisores "Televisores") e [consoles de vídeo game](/wiki/Console_de_videogame "Console de videogame")

Baseado em [Presto](/wiki/Presto_(motor_de_renderiza%C3%A7%C3%A3o) "Presto (motor de renderização)")

- [Internet Channel](/wiki/Internet_Channel "Internet Channel")

Baseado em [WebKit](/wiki/WebKit "WebKit")

- [Google TV](/wiki/Google_TV "Google TV")
- [Nintendo DS & DSi Browser](/wiki/Nintendo_DS_Browser "Nintendo DS Browser")
- [Steam Overlay](/wiki/Steam "Steam")
- [Wii U Internet Browser](/wiki/Nintendo_Network "Nintendo Network")

- Software que não é mais desenvolvido é exibido em _itálico_

- ![Página de categoria](//upload.wikimedia.org/wikipedia/commons/thumb/9/96/Symbol_category_class.svg/16px-Symbol_category_class.svg.png)[Categoria](/wiki/Categoria:Navegadores_web "Categoria:Navegadores web")
- ![Commons](//upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/16px-Commons-logo.svg.png)[Commons](https://commons.wikimedia.org/wiki/Category:Web_browsers "commons:Category:Web browsers")

Obtida de " [https://pt.wikipedia.org/w/index.php?title=Hypertext\_Transfer\_Protocol&oldid=68489749](https://pt.wikipedia.org/w/index.php?title=Hypertext_Transfer_Protocol&oldid=68489749)"

[Categorias](/wiki/Especial:Categorias "Especial:Categorias"):

- [HTTP](/wiki/Categoria:HTTP "Categoria:HTTP")
- [Protocolos da Internet](/wiki/Categoria:Protocolos_da_Internet "Categoria:Protocolos da Internet")
- [Protocolos de camada de aplicação](/wiki/Categoria:Protocolos_de_camada_de_aplica%C3%A7%C3%A3o "Categoria:Protocolos de camada de aplicação")
- [Padrões abertos](/wiki/Categoria:Padr%C3%B5es_abertos "Categoria:Padrões abertos")
- [Navegadores web](/wiki/Categoria:Navegadores_web "Categoria:Navegadores web")
- [Web](/wiki/Categoria:Web "Categoria:Web")
- [Normas W3C](/wiki/Categoria:Normas_W3C "Categoria:Normas W3C")

Categorias ocultas:

- [!CS1 inglês-fontes em língua (en)](/wiki/Categoria:!CS1_ingl%C3%AAs-fontes_em_l%C3%ADngua_(en) "Categoria:!CS1 inglês-fontes em língua (en)")
- [!CS1 manut: Nomes múltiplos: lista de autores](/wiki/Categoria:!CS1_manut:_Nomes_m%C3%BAltiplos:_lista_de_autores "Categoria:!CS1 manut: Nomes múltiplos: lista de autores")
- [!Páginas que usam hiperligações mágicas RFC](/wiki/Categoria:!P%C3%A1ginas_que_usam_hiperliga%C3%A7%C3%B5es_m%C3%A1gicas_RFC "Categoria:!Páginas que usam hiperligações mágicas RFC")

- Esta página foi editada pela última vez às 02h16min de 21 de agosto de 2024.
- Este texto é disponibilizado nos termos da licença [Atribuição-CompartilhaIgual 4.0 Internacional (CC BY-SA 4.0) da Creative Commons](https://creativecommons.org/licenses/by-sa/4.0/deed.pt);
pode estar sujeito a condições adicionais.
Para mais detalhes, consulte as [condições de utilização](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use).

- [Política de privacidade](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/pt-br)
- [Sobre a Wikipédia](/wiki/Wikip%C3%A9dia:Sobre)
- [Avisos gerais](/wiki/Wikip%C3%A9dia:Aviso_geral)
- [Código de conduta](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct)
- [Programadores](https://developer.wikimedia.org)
- [Estatísticas](https://stats.wikimedia.org/#/pt.wikipedia.org)
- [Declaração sobre ''cookies''](https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement)
- [Versão móvel](//pt.m.wikipedia.org/w/index.php?title=Hypertext_Transfer_Protocol&mobileaction=toggle_view_mobile)

- [![Wikimedia Foundation](/static/images/footer/wikimedia-button.svg)](https://wikimediafoundation.org/)
- [![Powered by MediaWiki](/w/resources/assets/poweredby_mediawiki.svg)](https://www.mediawiki.org/)