Articulo de referencia

HTTP/2

HTTP/2 (originalmente llamado HTTP/2.0 ) es una revisión importante del protocolo de red HTTP utilizado por la World Wide Web . Se derivó del protocolo experimental SPDY anterio...

HTTP/2 (originalmente llamado HTTP/2.0 ) es una revisión importante del protocolo de red HTTP utilizado por la World Wide Web . Se derivó del protocolo experimental SPDY anterior , desarrollado originalmente por Google . [ 1 ] [ 2 ] HTTP/2 fue desarrollado por el Grupo de Trabajo HTTP (también llamado httpbis, donde " bis " significa "dos veces" en latín) del Grupo de Trabajo de Ingeniería de Internet (IETF). [ 3 ] [ 4 ] [ 5 ] HTTP/2 fue la primera versión nueva de HTTP desde HTTP/1.1, que se estandarizó en RFC 2068 en 1997. El Grupo de Trabajo presentó HTTP/2 al Grupo Directivo de Ingeniería de Internet (IESG) para su consideración como Estándar Propuesto en diciembre de 2014, [ 6 ] [ 7 ] y el IESG aprobó su publicación como Estándar Propuesto el 17 de febrero de 2015 (y se actualizó en febrero de 2020 con respecto a TLS 1.3 y nuevamente en junio de 2022). La especificación inicial de HTTP/2 se publicó como RFC 7540 el 14 de mayo de 2015. [ 8 ] 

El esfuerzo de estandarización fue respaldado por los navegadores Chrome , Opera , Firefox , Internet Explorer 11 , Safari , Amazon Silk y Edge . La mayoría de los navegadores principales habían agregado soporte para HTTP/2 a finales de 2015. [ 9 ] Aproximadamente el 97% de los navegadores web utilizados tienen la capacidad (y el 100% de los navegadores web de "escritorio rastreado"). [ 9 ] A partir de julio de 2023 , el 36% (después de alcanzar un máximo de poco más del 50%) de los 10 millones de sitios web más importantes admiten HTTP/2. [ 10 ]

Su sucesor es HTTP/3 , una revisión importante que se basa en los conceptos establecidos por HTTP/2. [ 2 ] [ 11 ] [ 9 ] [ 12 ]

Objetivos

El estatuto del grupo de trabajo menciona varios objetivos y cuestiones de interés: [ 4 ]

Diferencias con HTTP/1.1

Los cambios no requieren ninguna modificación en el funcionamiento de las aplicaciones web existentes, pero las nuevas aplicaciones pueden aprovechar las nuevas características para aumentar la velocidad. [ 13 ] HTTP/2 mantiene sin cambios toda la semántica de alto nivel de HTTP/1.1, como los métodos , los códigos de estado , los campos de encabezado y las URI . Lo nuevo es cómo se enmarcan y transportan los datos entre el cliente y el servidor. [ 13 ]

Los sitios web eficientes minimizan la cantidad de solicitudes necesarias para renderizar una página completa mediante la minificación (reduciendo la cantidad de código y empaquetando fragmentos más pequeños en paquetes, sin reducir su funcionalidad) de recursos como imágenes y scripts. Sin embargo, la minificación no siempre es conveniente ni eficiente, y puede requerir conexiones HTTP separadas para obtener la página y los recursos minificados. HTTP/2 permite al servidor "enviar" contenido, es decir, responder con datos a más consultas de las solicitadas por el cliente. Esto permite al servidor proporcionar datos que sabe que un navegador web necesitará para renderizar una página web, sin esperar a que el navegador examine la primera respuesta y sin la sobrecarga de un ciclo de solicitud adicional. [ 14 ]

Las mejoras de rendimiento adicionales en el primer borrador de HTTP/2 (que era una copia de SPDY) provienen de la multiplexación de solicitudes y respuestas para evitar parte del problema de bloqueo de cabecera de línea en HTTP  1 (incluso cuando se usa la canalización HTTP ), la compresión de encabezados y la priorización de solicitudes. [ 15 ] Sin embargo, como HTTP/2 se ejecuta sobre una única conexión TCP, todavía existe la posibilidad de que se produzca un bloqueo de cabecera de línea si los paquetes TCP se pierden o se retrasan en la transmisión. [ 16 ] HTTP/2 ya no admite el mecanismo de codificación de transferencia fragmentada de HTTP/1.1 , ya que proporciona sus propios mecanismos más eficientes para la transmisión de datos. [ 17 ]

Historia

Génesis y diferencias posteriores con respecto a SPDY

SPDY (pronunciado como "speedy") fue un protocolo de reemplazo de HTTP desarrollado por un proyecto de investigación liderado por Google . [ 18 ] Centrado principalmente en reducir la latencia, SPDY utiliza el mismo canal TCP pero diferentes protocolos para lograr esta reducción. Los cambios básicos realizados a HTTP/1.1 para crear SPDY incluyeron "una verdadera canalización de solicitudes sin restricciones FIFO, un mecanismo de enmarcado de mensajes para simplificar el desarrollo del cliente y del servidor, compresión obligatoria (incluidas las cabeceras), programación de prioridades e incluso comunicación bidireccional". [ 19 ]

El Grupo de Trabajo HTTP consideró el protocolo SPDY de Google, la propuesta HTTP Speed+Mobility de Microsoft (basada en SPDY) [ 18 ] y Network-Friendly HTTP Upgrade [ 20 ] . En julio de 2012, Facebook proporcionó comentarios sobre cada una de las propuestas y recomendó que HTTP/2 se basara en SPDY [ 21 ] . El borrador inicial de HTTP/2 se publicó en noviembre de 2012 y se basó en una copia directa de SPDY [ 22 ] .

La mayor diferencia entre HTTP/1.1 y SPDY era que a cada acción del usuario en SPDY se le asignaba un "ID de flujo", lo que significaba que existía un único canal TCP que conectaba al usuario con el servidor. SPDY dividía las solicitudes en control o datos, utilizando un "protocolo binario sencillo de analizar con dos tipos de tramas". [ 19 ] [ 23 ] SPDY mostró una mejora evidente con respecto a HTTP, con una aceleración de carga de página nueva que oscilaba entre el 11 % y el 47 %. [ 24 ]

El desarrollo de HTTP/2 tomó como punto de partida a SPDY. Entre las numerosas diferencias entre ambos protocolos, la más notable es que HTTP/2 utiliza un algoritmo de compresión de encabezados fijo basado en el código Huffman , en lugar de la compresión dinámica basada en flujo de SPDY. Esto contribuye a reducir el potencial de ataques de oráculo de compresión contra el protocolo, como el ataque CRIME . [ 23 ]

El 9 de febrero de 2015, Google anunció planes para eliminar la compatibilidad con SPDY en Chrome a favor de la compatibilidad con HTTP/2. [ 25 ] Esto entró en vigor a partir de Chrome 51. [ 26 ] [ 27 ]

hitos de desarrollo

Cifrado

HTTP/2 está definido tanto para URI HTTP (sin cifrado TLS , una configuración que se abrevia como h2c ) como para URI HTTPS (sobre TLS usando la extensión ALPN [ 45 ] donde se requiere TLS 1.2 o posterior, una configuración que se abrevia como h2 ).

Aunque el estándar en sí no requiere el uso de cifrado, [ 46 ] todas las implementaciones de cliente principales (Chrome, Edge, Firefox, [ 47 ] Internet Explorer, Opera, Safari) han declarado que solo admitirán HTTP/2 sobre TLS, lo que hace que el cifrado sea de facto obligatorio. [ 48 ]

Críticas

Proceso de desarrollo

El desarrollador de FreeBSD y Varnish , Poul-Henning Kamp, afirma que el estándar se preparó en un plazo irrealmente corto, lo que descartó cualquier otra base para el nuevo HTTP/2 que no fuera el protocolo SPDY y resultó en la pérdida de otras oportunidades de mejora. Kamp critica el protocolo en sí por ser inconsistente y tener una complejidad innecesaria y abrumadora. También afirma que el protocolo viola el principio de capas de protocolo , por ejemplo, al duplicar el control de flujo que pertenece a la capa de transporte (TCP). Además, sugirió que el nuevo protocolo debería haber eliminado las cookies HTTP , introduciendo un cambio incompatible. [ 49 ]

Cifrado

Inicialmente, algunos miembros del Grupo de Trabajo intentaron introducir un requisito de cifrado en el protocolo. Esto generó críticas.

Los críticos afirmaron que el cifrado tiene costos de computación no despreciables y que muchas aplicaciones HTTP en realidad no necesitan cifrado y sus proveedores no desean gastar recursos adicionales en él. Los defensores del cifrado han afirmado que esta sobrecarga de cifrado es insignificante en la práctica. [ 50 ] Poul-Henning Kamp ha criticado al IETF por estandarizar apresuradamente el prototipo SPDY de Google como HTTP/2 debido a consideraciones políticas. [ 49 ] [ 51 ] [ 52 ] La crítica a la agenda de cifrado obligatorio dentro del marco de certificados existente no es nueva, ni es exclusiva de los miembros de la comunidad de código abierto : un empleado de Cisco afirmó en 2013 que el modelo de certificado actual no es compatible con dispositivos pequeños como los enrutadores, porque el modelo actual requiere no solo la inscripción anual y la remisión de tarifas no triviales para cada certificado, sino que debe repetirse continuamente de forma anual. [ 53 ] Al final, el Grupo de Trabajo no llegó a un consenso sobre el cifrado obligatorio, [ 46 ] aunque la mayoría de las implementaciones de clientes lo requieren, lo que convierte el cifrado en un requisito de facto . 

El protocolo HTTP/2 también fue criticado por no admitir el cifrado oportunista , una medida contra la monitorización pasiva similar al mecanismo STARTTLS que ha estado disponible durante mucho tiempo en otros protocolos de Internet como SMTP . Los críticos han afirmado que la propuesta HTTP/2 viola el propio RFC 7258 de la IETF "La monitorización generalizada es un ataque", que también tiene el estado de Mejor Práctica Actual 188. [ 54 ] El RFC7258/BCP188 exige que la monitorización generalizada se considere un ataque, y los protocolos diseñados por la IETF deben tomar medidas para protegerse contra la monitorización pasiva (por ejemplo, mediante el uso de cifrado oportunista). Se han proporcionado varias especificaciones para el cifrado oportunista de HTTP/2, [ 55 ] [ 56 ] [ 57 ] de las cuales draft-nottingham-http2-encryption fue adoptada como un elemento de trabajo oficial del grupo de trabajo, lo que llevó a la publicación del RFC 8164 en mayo de 2017.  

Bloqueo de cabecera de línea TCP

Aunque el diseño de HTTP/2 resuelve eficazmente el problema del bloqueo de cabecera de línea a nivel de transacción HTTP al permitir múltiples transacciones HTTP concurrentes, todas esas transacciones se multiplexan a través de una única conexión TCP, lo que significa que cualquier bloqueo de cabecera de línea a nivel de paquete en el flujo TCP bloquea simultáneamente todas las transacciones a las que se accede a través de esa conexión. Este bloqueo de cabecera de línea en HTTP/2 se considera ahora un fallo de diseño, y gran parte del esfuerzo detrás de QUIC y HTTP/3 se ha dedicado a reducir los problemas de bloqueo de cabecera de línea. [ 58 ] [ 59 ]

Soporte del lado del servidor

Software de servidor

Los siguientes servidores web admiten HTTP/2:

Redes de distribución de contenido

  • Akamai fue la primera gran CDN en admitir HTTP/2 y HTTP/2 Server Push .
  • Microsoft Azure es compatible con HTTP/2.
  • PageCDN admite HTTP/2 de forma nativa y proporciona una interfaz de usuario para configurar HTTP/2 Server Push en el panel de control de CDN. [ 89 ]
  • CDN77 admite HTTP/2 mediante nginx (20 de agosto de 2015) .
  • Cloudflare admite HTTP/2 usando nginx con SPDY como alternativa para navegadores que no lo admiten, manteniendo todos los servicios de seguridad y rendimiento. [ 90 ] Cloudflare fue la primera CDN importante en admitir HTTP/2 Server Push . [ 91 ]
  • AWS CloudFront admite HTTP/2 [ 92 ] desde el 7 de septiembre de 2016.
  • Fastly admite HTTP/2, incluyendo Server Push. [ 93 ]
  • Imperva Incapsula CDN admite HTTP/2. [ 94 ] La implementación también incluye soporte para funciones de WAF y mitigación de DDoS.
  • KeyCDN admite HTTP/2 mediante nginx (6 de octubre de 2015). La página de prueba HTTP/2 sirve para verificar si su servidor admite HTTP/2.
  • BrandSSL es compatible con HTTP/2.
  • Voxility admite HTTP/2 mediante nginx desde julio de 2016. La implementación incluye soporte para servicios de mitigación de DDoS en la nube. [ 95 ]
  • StackPath es compatible con HTTP/2.

Implementaciones

  • Otras implementaciones se encuentran recopiladas en la wiki de GitHub HTTP/2 .

Véase también

Referencias

  1. Bright, Peter (18 de febrero de 2015). "HTTP/2 finalizado, llegará a los navegadores en las próximas semanas" . Ars Technica . Archivado del original el 30 de marzo de 2019.
  2. 1 2 Cimpanu, Catalin (12 de noviembre de 2018). "HTTP-over-QUIC pasará a llamarse HTTP/3" . ZDNet . Consultado el 19 de noviembre de 2018 .
  3. Thomson, M.; Belshe, M.; Peon, R. (29 de noviembre de 2014). "Protocolo de transferencia de hipertexto versión 2: draft-ietf-httpbis-http2-16" . Ietf Datatracker . Grupo de trabajo HTTPbis . Consultado el 11 de febrero de 2015 .
  4. 1 2 3 "HTTP (httpbis)" . Rastreador de datos del Grupo de Trabajo de Ingeniería de Internet . Archivado del original el 6 de enero de 2024.
  5. "Grupo de Trabajo HTTP de la IETF" . httpwg.org . Consultado el 15 de diciembre de 2019 .
  6. 1 2 "Historial para draft-ietf-httpbis-http2-16" . IETF . Recuperado el 3 de enero de 2015. 2014-12-16 El estado de IESG cambió a Publicación solicitada .
  7. 1 2 Raymor, Brian (6 de agosto de 2014). "¡Esperen! ¡HTTP/2 comienza la última llamada del Grupo de Trabajo!" . Microsoft Open Technologies. Archivado del original el 6 de octubre de 2014. Recuperado el 17 de octubre de 2018 .
  8. Belshe, M.; Peon, R.; Thomson, M. (mayo de 2015). Thomson, M (ed.). "RFC 7540 - Protocolo de transferencia de hipertexto versión 2 (HTTP/2)" . IETF. doi : 10.17487/RFC7540 . Recuperado el 14 de mayo de 2015 .
  9. 1 2 3 ""HTTP/2" | ¿Puedo usar... Tablas de soporte para HTML5, CSS3, etc." . canIuse.com . Consultado el 3 de abril de 2023 .
  10. "Uso de HTTP/2 para sitios web" . Encuestas sobre tecnología de la World Wide Web . W3Techs . Consultado el 10 de julio de 2023 .
  11. Bishop, Mike (9 de julio de 2019). "Protocolo de transferencia de hipertexto versión 3 (HTTP/3)" . Ietf Datatracker . Recuperado el 31 de julio de 2019 .
  12. Cimpanu, Catalin (26 de septiembre de 2019). "Cloudflare, Google Chrome y Firefox añaden compatibilidad con HTTP/3" . ZDNet . Consultado el 27 de septiembre de 2019 .
  13. 1 2 Ilya Grigorik. "Capítulo 12: HTTP 2.0" . Redes de navegador de alto rendimiento . O'Reilly Media, Inc. HTTP/2 no modifica la semántica de la aplicación HTTP de ninguna manera.
  14. Pratt, Michael. "Apiux" . apiux.com . Consultado el 19 de marzo de 2014 .
  15. Dio Synodinos (noviembre de 2012). "Se publica el primer borrador de HTTP 2.0" . InfoQ.com . C4Media Inc.
  16. Javier Garza (octubre de 2017). "¿Cómo resuelve HTTP/2 el problema del bloqueo de la cabecera de línea (HOL)?" .
  17. Belshe, Mike; Thomson, Martin; Peon, Roberto (mayo de 2015). Thomson, M. (ed.). "Protocolo de transferencia de hipertexto versión 2 (HTTP/2)" . tools.ietf.org . doi : 10.17487/RFC7540 . Recuperado el 17 de noviembre de 2017. HTTP/2 utiliza tramas DATA para transportar cargas útiles de mensajes. La codificación de transferencia "chunked" definida en la Sección 4.1 de [RFC7230] NO DEBE utilizarse en HTTP/2.
  18. 1 2 Sebastian Anthony (28 de marzo de 2012). "S&M vs. SPDY: Microsoft y Google luchan por el futuro de HTTP 2.0" . ExtremeTech.
  19. 1 2 Grigorik, Ilya. "La vida más allá de HTTP 1.1: SPDY de Google" .
  20. Willy Tarreau; Amos Jeffries; Adrien de Croy; Poul-Henning Kamp (29 de marzo de 2012). "Propuesta para una actualización HTTP amigable con la red" . Grupo de trabajo de redes . Grupo de trabajo de ingeniería de Internet .
  21. Doug Beaver (15 de julio de 2012). "Expresión de interés HTTP2" (lista de correo). W3C.
  22. Dio Synodinos (30 de noviembre de 2012). "Se publica el primer borrador de HTTP/2" . InfoQ.
  23. 1 2 Ilya, Grigorik (2015). HTTP/2 : un nuevo extracto de redes de navegadores de alto rendimiento (mayo de 2015, primera edición). Sebastopol, California: O'Reilly Media. págs. 211–224 . ISBN    9781491932483OCLC 1039459460 .​ 
  24. "SPDY: Un protocolo experimental para una web más rápida" . Los proyectos Chromium .
  25. Chris Bentzel; Bence Béky (9 de febrero de 2015). "Hola HTTP/2, adiós SPDY" . Blog de Chromium . Actualización: Para alinearse mejor con el ciclo de lanzamiento de Chrome, la compatibilidad con SPDY y NPN se eliminará con el lanzamiento de Chrome 51.
  26. "Descontinuación y eliminación de API en Chrome 51" . En resumen: la compatibilidad con HTTP/2 está lo suficientemente extendida como para que se pueda eliminar la compatibilidad con SPDY/3.1.
  27. Shadrin, Nick (7 de junio de 2016). "Compatibilidad con HTTP/2 para usuarios de Google Chrome | NGINX" . NGINX . Consultado el 10 de julio de 2017 .
  28. 1 2 Nottingham, Mark (7 de junio de 2014). "RFC2616 está muerto" . Recuperado el 20 de septiembre de 2014 .
  29. "HTTP/1.1, parte 1: URI, conexiones y análisis de mensajes: draft-ietf-httpbis-p1-messaging-00" . 20 de diciembre de 2007. Consultado el 20 de septiembre de 2014 .
  30. "Requisitos de seguridad para HTTP: draft-ietf-httpbis-security-properties-00.txt" . 23 de enero de 2008. Consultado el 20 de septiembre de 2014 .
  31. Nottingham, Mark (24 de enero de 2012). "Renovación de HTTPbis" . Recuperado el 20 de septiembre de 2014 .
  32. Nottingham, Mark (14 de octubre de 2012). "Última llamada del grupo de trabajo para HTTP/1.1 p1 y p2" . Recuperado el 20 de septiembre de 2014 .
  33. Nottingham, Mark (23 de octubre de 2012). "Segundo grupo de trabajo: última llamada para HTTP/1.1, págs. 4 a 7" . Recuperado el 20 de septiembre de 2014 .
  34. "Protocolo SPDY: draft-ietf-httpbis-http2-00" . Grupo de trabajo HTTPbis. 28 de noviembre de 2012. Consultado el 20 de septiembre de 2014 .
  35. Nottingham, Mark (30 de noviembre de 2012). "Primer borrador de HTTP/2" . Recuperado el 20 de septiembre de 2014 .
  36. Fielding, Roy T.; Reschke, Julian (6 de junio de 2014). "Protocolo de transferencia de hipertexto (HTTP/1.1): Sintaxis y enrutamiento de mensajes" . Archivado del original el 13 de agosto de 2014. Recuperado el 20 de septiembre de 2014 .
  37. "Última llamada: <draft-ietf-httpbis-p1-messaging-24.txt> (Protocolo de transferencia de hipertexto (HTTP/1.1): Sintaxis y enrutamiento de mensajes) al estándar propuesto" . IESG. 21 de octubre de 2013. Consultado el 20 de septiembre de 2014 .
  38. "Acción de protocolo: 'Protocolo de transferencia de hipertexto (HTTP/1.1): Sintaxis y enrutamiento de mensajes' al estándar propuesto (draft-ietf-httpbis-p1-messaging-26.txt)" . ietf-announce (Lista de correo). IESG. 12 de febrero de 2014. Consultado el 18 de enero de 2015 .
  39. El equipo de editores de RFC (6 de junio de 2014). "RFC 7230 sobre el protocolo de transferencia de hipertexto (HTTP/1.1): sintaxis y enrutamiento de mensajes" . ietf-announce (lista de correo) . Consultado el 18 de enero de 2015 .
  40. Nottingham, Mark (1 de agosto de 2014). "Última llamada del Grupo de Trabajo: draft-ietf-httpbis-http2-14 y draft-ietf-httpbis-header-compression-09" . Grupo de Trabajo HTTP . Recuperado el 7 de septiembre de 2014 .
  41. "Última llamada: < draft-ietf-httpbis-http2-16.txt > (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto por el IESG el 31 de diciembre de 2014" . Grupo de trabajo de ingeniería de Internet. 2014. Consultado el 1 de enero de 2015 .
  42. "Agenda del IESG: 22/01/2015" . IETF. Archivado del original el 15 de enero de 2015. Consultado el 15 de enero de 2015 .
  43. El IESG (17 de febrero de 2015). "Acción de protocolo: 'Protocolo de transferencia de hipertexto versión 2' a estándar propuesto (draft-ietf-httpbis-http2-17.txt)" . httpbis (Lista de correo) . Consultado el 18 de febrero de 2015 .
  44. El equipo de editores de RFC (14 de mayo de 2015). "RFC 7540 sobre el protocolo de transferencia de hipertexto versión 2 (HTTP/2)" . ietf-announce (Lista de correo).
  45. Friedl, S.; Popov, A.; Langley, A.; Stephan, E. (julio de 2014). "RFC 7301 - Extensión de negociación del protocolo de capa de aplicación de seguridad de la capa de transporte (TLS)" . IETF. doi : 10.17487/RFC7301 .
  46. 1 2 "Preguntas frecuentes sobre HTTP/2" . Grupo de trabajo HTTP de la IETF . Consultado el 8 de septiembre de 2014 .
  47. "Redes/http2" . MozillaWiki . Consultado el 7 de septiembre de 2014 .
  48. "Estado de la implementación de HTTP/2" . Blog de mnot .
  49. 1 2 Kamp, Poul-Henning (6 de enero de 2015). "HTTP/2.0: el IETF lo está haciendo por teléfono (mal protocolo, mala política)" . ACM Queue . Vol. 13, n.º 2, págs. 10-12 . doi : 10.1145/2732266.2716278 . ISSN 1542-7730 .    
  50. Grigorik, Ilya. "¿Es TLS rápido ya?" . Consultado el 30 de diciembre de 2015 .
  51. Kamp, Poul-Henning (2015). "Http/2.0" . Communications of the ACM . 58 (3): 40. doi : 10.1145/2717515 . S2CID 20337779 . 
  52. Kamp, Poul-Henning (7 de enero de 2015). "Re: Última llamada: <draft-ietf-httpbis-http2-16.txt> (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto" . ietf-http-wg@w3.org (Lista de correo) . Consultado el 12 de enero de 2015 .
  53. Lear, Eliot (25 de agosto de 2013). "El cifrado obligatorio *es* teatro" . ietf-http-wg@w3.org (Lista de correo) . Consultado el 26 de enero de 2015 .
  54. Murenin, Constantine A. (9 de enero de 2015). "Re: Última llamada: <draft-ietf-httpbis-http2-16.txt> (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto" . ietf-http-wg@w3.org (Lista de correo) . Consultado el 12 de enero de 2015 .
  55. Paul Hoffman. "Cifrado mínimo no autenticado (MUE) para HTTP-2: draft-hoffman-httpbis-minimal-unauth-enc-01" . Grupo de trabajo de ingeniería de Internet .
  56. Mark Nottingham; Martin Thomson. "Cifrado oportunista para URI HTTP: draft-nottingham-http2-encryption-03" . Grupo de trabajo de ingeniería de Internet .
  57. Mark Nottingham; Martin Thomson. "Seguridad oportunista para HTTP: draft-ietf-httpbis-http2-encryption-01" . Ietf Datatracker . Grupo de trabajo de ingeniería de Internet .
  58. Huston, Geoff (4 de marzo de 2019). "Un vistazo rápido a QUIC" . www.circleid.com . Consultado el 2 de agosto de 2019 .
  59. Gal, Shauli (22 de junio de 2017). "Panorama completo sobre HTTP/2 y el bloqueo HOL" . Medium . Recuperado el 3 de agosto de 2019 .
  60. "Módulo http/2 para apache httpd" . Consultado el 28 de julio de 2015 .
  61. "Registro de cambios de la versión Apache 2.4.17" . Consultado el 22 de agosto de 2017 .
  62. Matthew Steele (19 de junio de 2014). "mod_spdy ahora es un proyecto de Apache" . Blog de desarrolladores de Google .
  63. "Registro de /httpd/mod_spdy" . svn.apache.org . Consultado el 3 de febrero de 2017 .
  64. "Migración de Apache Tomcat" . Consultado el 29 de julio de 2016 .
  65. "Descargas del servidor de tráfico Apache" . trafficserver.apache.org . 21 de septiembre de 2015.
  66. Servidor, Caddy Web (23 de marzo de 2016). "Caddy 2: el servidor definitivo con HTTPS automático" . caddyserver.com . Consultado el 8 de agosto de 2020 .
  67. "Charles 4 tiene HTTP/2" . Objeto público . 2 de agosto de 2016. Consultado el 12 de octubre de 2020 .
  68. "3 pasos sencillos para mejorar el rendimiento de HTTP/2 en aplicaciones web heredadas" . 22 de septiembre de 2015. Archivado del original el 25 de septiembre de 2015. Consultado el 19 de noviembre de 2018 .
  69. "Sucuri += HTTP/2 — Anuncio de compatibilidad con HTTP/2" . Sucuri . 27 de noviembre de 2015. Consultado el 5 de diciembre de 2015 .
  70. Robert Haynes. "Adiós SPDY, hola HTTP/2" . F5 Networks . Consultado el 18 de septiembre de 2015 .
  71. Risov Chakrabortty (5 de julio de 2016). "Nuevas características y capacidades añadidas al firewall de aplicaciones web de Barracuda" . Barracuda Networks.
  72. "H2O - el servidor HTTP/2 optimizado" . h2o.examp1e.net .
  73. "Novedades de HAProxy 1.8" . haproxy.com . Noviembre de 2017. Consultado el 9 de febrero de 2018 .
  74. "Registro de cambios de Jetty" . Fundación Eclipse. 28 de mayo de 2015. Consultado el 28 de mayo de 2015 .
  75. "Función n.º 2813: Compatibilidad con el protocolo HTTP/2" , Lighttpd
  76. "LSWS 5.0 ya está disponible: compatibilidad con HTTP/2, ESI y LiteMage Cache" . 17 de abril de 2015.
  77. Rob Trace; David Walp (8 de octubre de 2014). "HTTP/2: La secuela tan esperada" . MSDN IEBlog . Microsoft Corporation.
  78. "Netty.news: Netty 4.1.0.Final lanzado" . netty.io . Consultado el 1 de junio de 2016 .
  79. "Registro de cambios de nginx" . www.nginx.com . 22 de septiembre de 2015.
  80. "Cambios con nginx 1.14.2" . nginx.org . 4 de diciembre de 2018. Consultado el 27 de septiembre de 2019 .
  81. Fundación, Node js (20 de noviembre de 2018). "Node v8.13.0 (LTS)" . Node.js. Consultado el 5 de junio de 2019 .
  82. "Node http2" . www.github.com . 26 de julio de 2016.
  83. "Node v8.4.0 (Actual)" . nodejs.org . 15 de agosto de 2017.
  84. "ASP.NET Core 2.2.0-preview1: HTTP/2 en Kestrel" . Consultado el 6 de abril de 2021 .
  85. "Registro de cambios de OpenLiteSpeed ​​1.4.5" . LiteSpeed ​​Technologies, Inc. 26 de febrero de 2015. Archivado del original el 26 de febrero de 2015. Consultado el 26 de febrero de 2015 .
  86. "Pulse Virtual Traffic Manager" . 22 de agosto de 2017.
  87. "Radware combina una puerta de enlace HTTP/2 integrada con su tecnología Fastview líder para proporcionar una mayor aceleración a las plataformas de servidores web" . 20 de julio de 2015.
  88. "www.shimmercat.com" . 23 de marzo de 2016. Archivado del original el 31 de marzo de 2022. Consultado el 23 de marzo de 2016 .
  89. "¿Por qué PageCDN y qué problema resuelve?" . PageCDN . Consultado el 11 de enero de 2020 .
  90. "¡HTTP/2 ya está aquí! ¿Adiós SPDY? Todavía no" . CloudFlare . Consultado el 5 de diciembre de 2015 .
  91. Krasnov, Vlad (28 de abril de 2016). "Anuncio de compatibilidad con HTTP/2 Server Push" . CloudFlare . Consultado el 18 de mayo de 2016 .
  92. "Amazon CloudFront ahora admite HTTP/2" . Amazon Web Services, Inc. Consultado el 8 de septiembre de 2016 .
  93. "Anuncio de disponibilidad limitada para HTTP/2" . 30 de junio de 2016. Consultado el 22 de agosto de 2017 .
  94. "HTTP/2 ya está aquí: lo que necesitas saber" . Consultado el 1 de noviembre de 2015 .
  95. "¿HTTP/2 es más vulnerable a los ciberataques?" . Information Age . 3 de agosto de 2016 . Consultado el 4 de febrero de 2019 .