HTTP/3

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
HTTP/3
Padrão internacional Hypertext Transfer Protocol Version 3 (HTTP/3) (draft)
Desenvolvido por IETF
Introduzido Internet-Draft desde maio de 2020

HTTP/3 é a terceira versão principal do Protocolo de Transferência de Hipertexto usado para trocar informações na World Wide Web, sucedendo o HTTP/2.[1][2] HTTP/3 é um rascunho baseado em um rascunho RFC anterior, denominado "HTTP (Hypertext Transfer Protocol) sobre QUIC".[3] O QUIC é um protocolo de rede da camada de transporte desenvolvido inicialmente pelo Google, em que o controle de congestionamento no espaço de usuário é realizado sobre User Datagram Protocol (UDP).[4][5][6][7]

Em 28 de outubro de 2018, em discussão numa lista de correio, Mark Nottingham, presidente dos Working Groups do HTTP e do QUIC do IETF, fez o pedido oficial para renomear HTTP-sobre-QUIC para HTTP/3 para "identificá-lo claramente como outra ligação da semântica HTTP para o protocolo de ligação ... para que as pessoas entendam sua separação do QUIC" e passar seu desenvolvimento do QUIC Working Group para o HTTP Working Group após finalizar e publicar o rascunho.[8] A proposta de Nottingham foi aceita pelo colega do IETF alguns dias depois, em novembro de 2018.[3]

O suporte ao HTTP/3 foi adicionado ao Chrome (versão Canary) em setembro de 2019 e, embora o HTTP/3 ainda não esteja ativado por padrão em qualquer navegador, em 2020 o HTTP/3 tem suporte não-padrão nas versões estáveis do Chrome e Firefox e ele pode ser ativado.[4][5][6][7][9][10][11] O suporte experimental para HTTP/3 foi adicionado ao Safari Technology Preview em 8 de abril de 2020.[12]

Implementações[editar | editar código-fonte]

Navegador[editar | editar código-fonte]

Navegador Versão implementada Data
Chrome Estável (79) Dezembro de 2019
Firefox Estável (72.0.1) Janeiro de 2020
Safari Safari Technology Preview 104 Abril de 2020
Edge Edge (Canary build) 2020[13]

Bibliotecas[editar | editar código-fonte]

Bibliotecas de código aberto que implementam a lógica do cliente ou servidor para QUIC e HTTP/3 estão disponíveis.[14]

Nome Linguagem de programação Organização Repositório
quiche Rust Cloudflare https://github.com/cloudflare/quiche
neqo Rust Mozilla https://github.com/mozilla/neqo
proxygen C++ Facebook https://github.com/facebook/proxygen#quic-and-http3
Cronet C++ Google https://github.com/chromium/chromium/tree/master/net/quic
lsquic C LiteSpeed https://github.com/litespeedtech/lsquic
nghttp3 C https://github.com/ngtcp2/nghttp3
h2o C https://github.com/h2o/h2o
libcurl[15][16] C https://github.com/curl/curl
MsQuic[17] C Microsoft https://github.com/microsoft/msquic
Flupke Java https://bitbucket.org/pjtr/flupke
aioquic Python https://github.com/aiortc/aioquic
quic-go Go https://github.com/lucas-clemente/quic-go
quic Haskell https://github.com/kazu-yamamoto/quic

A biblioteca quiche do Cloudflare pode ser usada como um patch para o nginx.[18] O suporte ao HTTP/3 está programado para a versão 1.17 do nginx.[19]

Existem várias bibliotecas que implementam um rascunho mais antigo do protocolo ou as versões do Google do QUIC (por exemplo, Q046 usado no Chrome 76), como nghttp3.

Ver também[editar | editar código-fonte]

Referências

  1. Bishop, M. (23 de fevereiro de 2020). «Hypertext Transfer Protocol Version 3 (HTTP/3)». quicwg.org. Consultado em 2 de maio de 2020 
  2. Bishop, Mike (21 de fevereiro de 2020). «Hypertext Transfer Protocol Version 3 (HTTP/3)». IETF 
  3. a b Cimpanu, Catalin (12 de novembro de 2018). «HTTP-over-QUIC to be renamed HTTP/3 | ZDNet». ZDNet. Consultado em 2 de maio de 2020 
  4. a b Paulo Higa (27 de setembro de 2019). «HTTP/3 está chegando para tornar sua internet mais rápida e segura». Tecnoblog. Consultado em 22 de maio de 2020 
  5. a b Claudio Yuge (27 de setembro de 2019). «HTTP/3 promete web mais rápida e já tem suporte do Chrome, Firefox e Cloudflare». Canaltech. Consultado em 22 de maio de 2020 
  6. a b Pedro Pinto (13 de novembro de 2018). «HTTP/3 já está a caminho da Internet e deixará o protocolo TCP de fora». Pplware. Consultado em 22 de maio de 2020 
  7. a b Tonino Jankov (29 de abril de 2019). «O Que É HTTP/3 – A Verdade Sobre o Novo Protocolo Baseado em UDP». Blog Kinsta. Consultado em 22 de maio de 2020 
  8. Nottingham, Mark (28 de outubro de 2018). «Identifying our deliverables». IETF Mail Archive (Lista de grupo de correio) 
  9. «Can I use... Support tables for HTML5, CSS3, etc». caniuse.com. Consultado em 2 de maio de 2020 
  10. Stenberg, Daniel. «Daniel Stenberg announces HTTP/3 support in Firefox Nightly». Twitter. Consultado em 2 de maio de 2020 
  11. Cimpanu, Catalin (26 de setembro de 2019). «Cloudflare, Google Chrome, and Firefox add HTTP/3 support». ZDNet. Consultado em 2 de maio de 2020 
  12. https://webkit.org/blog/10264/release-notes-for-safari-technology-preview-104/
  13. Inc, Cloudflare. «Microsoft Edge - HTTP/3 Docs». developers.cloudflare.com (em inglês). Consultado em 18 de maio de 2020 
  14. «Internet-Drafts that make up the base QUIC specification: quicwg/base-drafts». IETF QUIC WG. 12 de novembro de 2019. Consultado em 18 de maio de 2020 
  15. «First HTTP/3 with curl». Daniel Stenberg. 5 de agosto de 2019. Consultado em 18 de maio de 2020 
  16. «cURL HTTP3 wiki». Daniel Stenberg. 26 de setembro de 2019. Consultado em 18 de maio de 2020 
  17. «MsQuic is Open Source». 28 de abril de 2020. Consultado em 18 de maio de 2020 
  18. «Experiment with HTTP/3 using NGINX and quiche». The Cloudflare Blog (em inglês). 17 de outubro de 2019. Consultado em 18 de maio de 2020 
  19. «Milestone nginx-1.17». trac.nginx.org. Consultado em 18 de maio de 2020 

Ligações externas[editar | editar código-fonte]