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
Navegador
| Navegador | 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
Hay 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.
Referencias
- 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.
- 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.