HTTP/3
HTTP/3 es la tercera versión principal del Protocolo de Transferencia de Hipertexto utilizado para intercambiar información en la World Wide Web, que sucederá a HTTP/2.[1] HTTP/3 es un borrador basado en un RFC anterior, entonces nombrado "Protocolo de Transferencia de Hipertexto (HTTP) sobre QUIC".[2] QUIC es un protocolo de red perteneciente a la capa de transporte desarrollado inicialmente por Google en el que se utiliza el control de congestión del espacio de usuario está utilizado sobre el Protocolo de Datagrama del Usuario (UDP).
Protocolo de Transferencia de Hipertexto 3.0 (HTTP) | ||||||||
---|---|---|---|---|---|---|---|---|
Familia | Familia de protocolos de Internet | |||||||
Función | Transferencia de hipertexto | |||||||
Última versión | 3.0 | |||||||
Ubicación en la pila de protocolos | ||||||||
| ||||||||
Estándares | ||||||||
Hypertext Transfer Protocol Version 3 (HTTP/3) julio 2021 (Borrador de Internet) | ||||||||
El 28 de octubre de 2018 en un debate de la lista de correo, Mark Nottingham, Presidente del IETF HTTP y QUIC Working Groups, hizo la petición oficial para cambiar el nombre de HTTP-over-QUIC a HTTP/3, para "identificarlo claramente como otra unión de la semántica de HTTP al protocolo de cable... para que la gente entienda su separación de QUIC" y para pasar su desarrollo del QUIC Working Group al HTTP Working Group después de finalizar y publicar el borrador.[3] La propuesta de Nottingham fue aceptada por otros miembros del IETF unos días después, en noviembre de 2018.[2]
El soporte para HTTP/3 fue agregado a Chrome (Canary build) en septiembre de 2019, y mientras HTTP/3 no está aún activado por defecto en ningún navegador, para 2020 HTTP/3 tiene soporte no por defecto en las versiones estables de Chrome y Firefox y puede ser activado.[4][5][6] El soporte experimental para HTTP/3 fue agregado a Safari Technology Preview el 8 de abril de 2020.[7]
Implementaciones
editarNavegador
editarNavegador | Versión implementada | Fecha |
---|---|---|
Chrome | Stable build (79) | Diciembre de 2019 |
Firefox | Stable build (72.0.1) | Enero de 2020 |
Safari | Safari Technology Preview 104 | Abril de 2020 |
Edge | Edge (Canary build) | 2020[8] |
Bibliotecas
editarHay disponibles bibliotecas de código abierto que implementan la lógica del cliente o del servidor para QUIC y HTTP/3.[9]
Nombre | Lenguaje de programación | Compañía | Repositorio |
---|---|---|---|
quiche | Rust | Cloudflare | https://github.com/cloudflare/quiche |
neqo | Rust | Mozilla | https://github.com/mozilla/neqo |
proxygen | C++ | https://github.com/facebook/proxygen#quic-Y-http3 | |
Cronet | C++ | 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[10][11] | C | https://github.com/curl/curl | |
MsQuic[12] | 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 |
La biblioteca de quichés de Cloudflare puede ser usada como un parche para nginx.[13] El soporte para HTTP/3 está programado para la versión 1.17 de nginx.[14]
Hay varias bibliotecas que implementan un borrador más antiguo del protocolo o de las versiones de Google QUIC (p. ej. Q046 utilizado en Chrome 76), como nghttp3.
Véase también
editarReferencias
editar- ↑ Bishop, M. (1 de mayo de 2020). «Hypertext Transfer Protocol Version 3 (HTTP/3)». quicwg.org (en inglés). Archivado desde el original el 14 de septiembre de 2019. Consultado el 2 de mayo de 2020.
- ↑ a b Cimpanu, Catalin (12 de noviembre de 2018). «HTTP-over-QUIC to be renamed HTTP/3 | ZDNet» (en inglés). Consultado el 12 de noviembre de 2018.
- ↑ Nottingham, Mark (28 de octubre de 2018). «Identifying our deliverables». IETF Mail Archive.
- ↑ «Can I use... Support tables for HTML5, CSS3, etc». caniuse.com. Consultado el 19 de enero de 2020.
- ↑ Daniel, Stenberg. «Daniel Stenberg announces HTTP/3 support in Firefox Nightly». Twitter. Consultado el 5 de noviembre de 2019.
- ↑ Cimpanu, Catalin (26 de septiembre de 2019). «Cloudflare, Google Chrome, and Firefox add HTTP/3 support». ZDNet. Consultado el 27 de septiembre de 2019.
- ↑ https://webkit.org/blog/10264/release-notes-for-safari-technology-preview-104/
- ↑ Inc, Cloudflare. «Microsoft Edge - HTTP/3 Docs». developers.cloudflare.com (en inglés). Archivado desde el original el 26 de abril de 2020. Consultado el 2 de mayo de 2020.
- ↑ Internet-Drafts that make up the base QUIC specification: quicwg/base-drafts, IETF QUIC WG, 12 de noviembre de 2019, consultado el 13 de noviembre de 2019.
- ↑ «First HTTP/3 with curl». Daniel Stenberg. 5 de agosto de 2019. Consultado el 2 de octubre de 2019.
- ↑ «cURL HTTP3 wiki». Daniel Stenberg. 26 de septiembre de 2019. Consultado el 2 de octubre de 2019.
- ↑ «MsQuic is Open Source». 28 de abril de 2020. Consultado el 28 de abril de 2020.
- ↑ «Experiment with HTTP/3 using NGINX and quiche». The Cloudflare Blog (en inglés). 17 de octubre de 2019. Consultado el 9 de noviembre de 2019.
- ↑ «Milestone nginx-1.17». trac.nginx.org. Consultado el 9 de noviembre de 2019.