HTTP / 2 (originalmente llamado HTTP / 2.0 ) es una revisión importante del protocolo de red HTTP utilizado por la World Wide Web . Se deriva del protocolo SPDY experimental anterior , desarrollado originalmente por Google . [1] [2] HTTP / 2 fue desarrollado por HTTP Working Group (también llamado httpbis, donde " bis " significa "dos veces") del Internet Engineering Task Force (IETF). [3] [4] [5] HTTP / 2 es 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 Internet Engineering Steering Group (IESG) para su consideración como estándar propuesto en diciembre de 2014, [6] [7] e 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 ) . [8] [9] La especificación HTTP / 2 se publicó como RFC 7540 el 14 de mayo de 2015. [10]
Estándar internacional | RFC 7540 |
---|---|
Desarrollado por | IETF |
Introducido | 14 de mayo de 2015 |
Sustituida por | HTTP / 3 |
El esfuerzo de estandarización fue apoyado por los navegadores Chrome , Opera , Firefox , [11] Internet Explorer 11 , Safari , Amazon Silk y Edge . [12] La mayoría de los principales navegadores habían agregado compatibilidad con HTTP / 2 a fines de 2015. [13] Aproximadamente el 97% de los navegadores web utilizados tienen la capacidad. [14] en abril de 2021 [actualizar], el 50% de los 10 millones de sitios web principales admitían HTTP / 2. [15]
Su sucesor propuesto es HTTP / 3 , una revisión importante que se basa en los conceptos establecidos por HTTP / 2. [2] [16] [17] [18]
Metas
La carta del grupo de trabajo menciona varios objetivos y cuestiones de interés: [4]
- Cree un mecanismo de negociación que permita a los clientes y servidores optar por utilizar HTTP / 1.1, 2.0 o potencialmente otros protocolos que no sean HTTP.
- Mantenga una compatibilidad de alto nivel con HTTP / 1.1 (por ejemplo, con métodos , códigos de estado , URI y la mayoría de los campos de encabezado ).
- Disminuya la latencia para mejorar la velocidad de carga de la página en los navegadores web considerando:
- compresión de datos de encabezados HTTP
- Envío de servidor HTTP / 2
- canalización de solicitudes
- solucionando el problema de bloqueo del encabezado de línea en HTTP 1.x
- multiplexar múltiples solicitudes a través de una sola conexión TCP
- Soporte común casos de uso de HTTP, tales como navegadores de escritorio web, navegadores web móviles, APIs web, existente servidores web a varias escalas, servidores proxy , proxy inverso servidores, cortafuegos y redes de distribución de contenidos .
Diferencias con HTTP / 1.1
Los cambios propuestos no requieren ningún cambio en el funcionamiento de las aplicaciones web existentes, pero las nuevas aplicaciones pueden aprovechar las nuevas funciones para aumentar la velocidad. [19] HTTP / 2 deja toda la semántica de alto nivel de HTTP / 1.1, como métodos , códigos de estado , campos de encabezado y URI , igual. Lo nuevo es cómo se enmarcan y transportan los datos entre el cliente y el servidor. [19]
Los sitios web que son eficientes minimizan la cantidad de solicitudes necesarias para representar una página completa al minificar (reducir la cantidad de código y empaquetar fragmentos más pequeños de código en paquetes, sin reducir su capacidad de funcionamiento) recursos como imágenes y scripts. Sin embargo, la minificación no es necesariamente conveniente ni eficiente y aún 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 para más consultas de las que solicitó el cliente. Esto permite que el servidor proporcione datos que sabe que un navegador web necesitará para representar una página web, sin esperar a que el navegador examine la primera respuesta y sin la sobrecarga de un ciclo de solicitud adicional. [20]
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 algunos de los problemas de bloqueo del encabezado de línea en HTTP 1 (incluso cuando se usa la canalización HTTP ), compresión de encabezados y priorización de solicitudes. [21] 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 si los paquetes TCP se pierden o se retrasan en la transmisión. [22] 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. [23]
Historia
Génesis en y diferencias posteriores de SPDY
SPDY (pronunciado como "rápido") fue un protocolo de reemplazo HTTP anterior desarrollado por un proyecto de investigación encabezado por Google . [24] Principalmente enfocado en reducir la latencia, SPDY usa la misma tubería TCP pero diferentes protocolos para lograr esta reducción. Los cambios básicos realizados en HTTP / 1.1 para crear SPDY incluyeron: "canalización de solicitudes real sin restricciones FIFO, mecanismo de encuadre de mensajes para simplificar el desarrollo de clientes y servidores, compresión obligatoria (incluidos encabezados), programación de prioridades e incluso comunicación bidireccional". [25]
El Grupo de Trabajo considera HTTP protocolo SPDY de Google, Microsoft 's HTTP Speed + Mobility propuesta (basada SPDY), [24] y la actualización de HTTP Red-friendly. [26] En julio de 2012, Facebook proporcionó comentarios sobre cada una de las propuestas y recomendó que HTTP / 2 se basara en SPDY. [27] El borrador inicial de HTTP / 2 se publicó en noviembre de 2012 y se basó en una copia directa de SPDY. [28]
La mayor diferencia entre HTTP / 1.1 y SPDY fue que a cada acción de usuario en SPDY se le asigna un "ID de flujo", lo que significa que hay un solo canal TCP que conecta al usuario con el servidor. SPDY divide las solicitudes en control o datos, utilizando un "protocolo binario fácil de analizar con dos tipos de tramas". [25] [29] SPDY mostró una mejora evidente con respecto a HTTP, con una nueva aceleración de carga de la página que oscila entre el 11% y el 47%. [30]
El desarrollo de HTTP / 2 utilizó SPDY como punto de partida. Entre las muchas diferencias detalladas entre los protocolos, la más notable es que HTTP / 2 utiliza un algoritmo de compresión de encabezado fijo basado en código de Huffman , en lugar de la compresión dinámica basada en flujo de SPDY. Esto ayuda a reducir el potencial de ataques de Oracle de compresión en el protocolo, como el ataque CRIME . [29]
El 9 de febrero de 2015, Google anunció planes para eliminar el soporte para SPDY en Chrome a favor del soporte para HTTP / 2. [31] Eso entró en vigor, comenzando con Chrome 51. [32] [33]
Hitos de desarrollo
Fecha | Hito [4] |
---|---|
20 de diciembre de 2007 [34] [35] | Primer borrador de Internet de revisión HTTP / 1.1 |
23 de enero de 2008 [36] | Primer borrador de Internet de las propiedades de seguridad HTTP |
Principios de 2012 [37] | Convocatoria de propuestas para HTTP 2.0 |
14 de octubre - 25 de noviembre de 2012 [38] [39] | Última convocatoria del grupo de trabajo para la revisión de HTTP / 1.1 |
28 de noviembre de 2012 [40] [41] | Primer borrador del GT de HTTP 2.0, basado en draft-mbelshe-httpbis-spdy-00 |
Retenido / Eliminado | Última llamada del grupo de trabajo para las propiedades de seguridad HTTP |
Septiembre de 2013 [42] [43] | Presentar la revisión HTTP / 1.1 a IESG para su consideración como estándar propuesto |
12 de febrero de 2014 [44] | IESG aprobó la revisión HTTP / 1.1 para publicar como estándar propuesto |
6 de junio de 2014 [34] [45] | Publicar la revisión HTTP / 1.1 como RFC 7230 , 7231 , 7232 , 7233 , 7234 , 7235 |
1 de agosto de 2014 - 1 de septiembre de 2014 [7] [46] | Grupo de trabajo Última convocatoria para HTTP / 2 |
16 de diciembre de 2014 [6] | Enviar HTTP / 2 a IESG para su consideración como estándar propuesto. |
31 de diciembre de 2014 - 14 de enero de 2015 [47] | Última llamada IETF para HTTP / 2 |
22 de enero de 2015 [48] | Telechat de IESG para revisar HTTP / 2 como estándar propuesto |
17 de febrero de 2015 [8] | IESG aprobó HTTP / 2 para publicar como estándar propuesto |
14 de mayo de 2015 [49] | Publicar HTTP / 2 como RFC 7540 |
Febrero de 2020 | RFC 8740 : HTTP / 2 con TLS 1.3 |
Cifrado
HTTP / 2 se define tanto para HTTP URI (es decir, sin cifrado ) como para HTTPS URI (sobre TLS usando la extensión ALPN [50] donde se requiere TLS 1.2 o más reciente).
Aunque el estándar en sí no requiere el uso de cifrado, [51] todas las principales implementaciones de clientes (Firefox, [52] Chrome, Safari, Opera, IE, Edge) han declarado que solo admitirán HTTP / 2 sobre TLS, que hace el cifrado obligatorio de facto . [53]
Criticas
El proceso de desarrollo de HTTP / 2 y el protocolo en sí se han enfrentado a críticas.
El FreeBSD y barniz desarrollador Poul-Henning Kamp afirma que la norma fue preparado en una forma poco realista horario corto, descartando cualquier base para el nuevo HTTP / 2 que no sea el protocolo SPDY y resultando en otras oportunidades perdidas para la mejora. [54] Kamp critica el protocolo en sí mismo por ser inconsistente y tener una complejidad abrumadora e innecesaria. [54] También afirma que el protocolo viola el principio de capas de protocolo , [54] por ejemplo al duplicar el control de flujo que pertenece a la capa de transporte (TCP). La mayoría de las preocupaciones, sin embargo, se han relacionado con problemas de cifrado.
Cifrado
Costo computacional de cifrado obligatorio y disponibilidad de certificados
Inicialmente, algunos miembros [ ¿quién? ] del Grupo de Trabajo intentó introducir un requisito de cifrado en el protocolo. Esto enfrentó críticas.
Los críticos afirmaron que el cifrado tiene costos informáticos 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 declarado que esta sobrecarga de cifrado es insignificante en la práctica. [55] Poul-Henning Kamp ha criticado al IETF por estandarizar apresuradamente el prototipo SPDY de Google como HTTP / 2 debido a consideraciones políticas. [54] [56] [57] La crítica a la agenda del 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 declaró 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 sobre una base anual. [58] El Grupo de Trabajo finalmente no llegó a un consenso sobre el cifrado obligatorio, [51] aunque la mayoría de las implementaciones de clientes lo requieren, lo que hace que el cifrado sea un requisito de facto .
Falta de cifrado oportunista
El protocolo HTTP / 2 también se enfrentó a críticas por no admitir el cifrado oportunista , una medida contra el monitoreo pasivo similar al mecanismo STARTTLS que ha estado disponible durante mucho tiempo en otros protocolos de Internet como SMTP . Los críticos han declarado que la propuesta HTTP / 2 viola la propia IETF. RFC 7258 "El monitoreo generalizado es un ataque", que también tiene el estado de Mejor práctica actual 188. [59] El RFC7258 / BCP188 exige que el monitoreo pasivo se considere un ataque, y los protocolos diseñados por IETF deben tomar medidas para proteger contra el monitoreo pasivo. (por ejemplo, mediante el uso de cifrado oportunista). Se han proporcionado varias especificaciones para el cifrado oportunista de HTTP / 2, [60] [61] [62] de las cuales se adoptó el borrador-nottingham-http2-encryption como elemento de trabajo oficial del grupo de trabajo, lo que dio lugar a la publicación de RFC 8164 en mayo de 2017.
Bloqueo de cabecera de línea TCP
Aunque el diseño de HTTP / 2 aborda eficazmente el problema de 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 cabecera de nivel de paquete El bloqueo de línea del flujo TCP bloquea simultáneamente todas las transacciones a las que se accede a través de esa conexión. Este bloqueo de cabecera en HTTP / 2 ahora se considera ampliamente como un defecto 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. [63] [64]
Soporte del lado del servidor
Software de servidor
- Apache 2.4.12 admite HTTP / 2 a través del módulo mod_h2, [65] aunque se deben aplicar los parches adecuados al código fuente del servidor para que admita ese módulo. A partir de Apache 2.4.17, todos los parches están incluidos en el árbol de fuentes principal de Apache, aunque el módulo en sí se renombró como mod_http2. [66] Las versiones antiguas de SPDY eran compatibles a través del módulo mod_spdy, [67] sin embargo, el desarrollo del módulo mod_spdy se ha detenido. [68]
- Apache Tomcat admite HTTP / 2 con la versión 8.5 y posteriores con un cambio de configuración. [69]
- El servidor de tráfico Apache es compatible con HTTP / 2. [70]
- Caddy es compatible con HTTP / 2. [71]
- Charles Proxy admite HTTP / 2 desde la versión Charles 4. [72]
- Citrix NetScaler 11.x admite HTTP / 2. [73]
- Sucuri admite HTTP / 2. [74]
- F5 BIG-IP Local Traffic Manager 11.6 es compatible con HTTP / 2. [75]
- Barracuda Networks WAF (Web Application Firewall) es compatible con HTTP / 2. [76]
- h2o fue construido desde cero para soporte HTTP / 2. [77]
- HAProxy 1.8 es compatible con HTTP / 2. [78]
- Jetty 9.3 es compatible con HTTP / 2. [79]
- lighttpd 1.4.56 admite HTTP / 2. [80]
- LiteSpeed Web Server 5.0 es compatible con HTTP / 2. [81]
- Microsoft IIS admite HTTP / 2 en Windows 10, [82] Windows Server 2016 y Windows Server 2019 .
- Netty 4.1 es compatible con HTTP / 2. [83]
- nginx 1.9.5 admite HTTP / 2, [84] lanzado el 22 de septiembre de 2015, utilizando el módulo ngx_http_v2_module y HTTP / 2 Server Push desde la versión 1.13.9 el 20 de febrero de 2018. [85]
- Node.js Soporte estable desde 8.13.0. [86] (5.0 es compatible con HTTP / 2 con un módulo [87] y el nodo 8.4 introdujo un soporte integrado experimental para HTTP / 2. [88] )
- El servidor web Kestrel para ASP.NET Core admite HTTP / 2 desde .NET Core 2.2.0-preview 1. [89]
- OpenLiteSpeed 1.3.11 y 1.4.8 son compatibles con HTTP / 2. [90]
- Proxygen es compatible con HTTP / 2.
- Pulse Secure Virtual Traffic Manager 10.2 es compatible con HTTP / 2. [91]
- Radware Alteon NG es compatible con HTTP / 2. [92]
- ShimmerCat es compatible con HTTP / 2. [93]
- Vert.x 3.3 es compatible con HTTP / 2.
- Warp ( servidor web Haskell , utilizado de forma predeterminada en Yesod ) admite HTTP / 2.
- Wildfly 9 admite HTTP / 2.
- El proxy Envoy admite HTTP / 2.
Redes de distribución de contenido
- Akamai fue el primer CDN importante en admitir HTTP / 2 y HTTP / 2 Server Push .
- Microsoft Azure admite HTTP / 2.
- PageCDN es compatible con HTTP / 2 listo para usar y proporciona una interfaz de usuario para configurar HTTP / 2 Server Push en el panel de CDN. [94]
- CDN77 admite HTTP / 2 usando nginx (20 de agosto de 2015) .
- Cloudflare admite HTTP / 2 usando nginx con SPDY como respaldo para navegadores sin soporte, mientras mantiene todos los servicios de seguridad y rendimiento. [95] Cloudflare fue el primer CDN importante en admitir HTTP / 2 Server Push . [96]
- AWS CloudFront admite HTTP / 2 [97] desde el 7 de septiembre de 2016.
- Admite rápidamente HTTP / 2, incluido Server Push. [98]
- Imperva Incapsula CDN es compatible con HTTP / 2. [99] La implementación también incluye soporte para funciones de mitigación WAF y DDoS.
- KeyCDN admite HTTP / 2 usando nginx (6 de octubre de 2015). La prueba HTTP / 2 es una página de prueba para verificar si su servidor admite HTTP / 2.
- Voxility admite HTTP / 2 mediante nginx desde julio de 2016. La implementación es compatible con los servicios de mitigación de DDoS en la nube. [100]
- StackPath admite HTTP / 2.
Implementaciones
- Otras implementaciones se recopilan en la wiki de HTTP / 2 de GitHub .
Ver también
- gRPC
- Canalización HTTP
- Mensajes de solicitud y respuesta HTTP
- HTTP / 3
- QUIC
- SPDY
- WebSocket
- Comparación de navegadores web § Soporte de protocolo
Referencias
- ^ Bright, Peter (18 de febrero de 2015). "HTTP / 2 finalizado, llegará a los navegadores en unas semanas" . Ars Technica .
- ^ a b Cimpanu, Catalin. "HTTP-over-QUIC será renombrado HTTP / 3 | ZDNet" . ZDNet . Consultado el 19 de noviembre de 2018 .
- ^ Thomson, M. (ed.), Belshe M. y R. Peon. "Protocolo de transferencia de hipertexto versión 2: draft-ietf-httpbis-http2-16" . ietf.org . Grupo de trabajo HTTPbis . Consultado el 11 de febrero de 2015 .
- ^ a b c "Protocolo de transferencia de hipertexto Bis (httpbis)" . Grupo de trabajo de ingeniería de Internet . 2012.
- ^ "Grupo de trabajo IETF HTTP" . Grupo de trabajo IETF HTTP . Consultado el 15 de diciembre de 2019 .
- ^ a b "Historial del borrador-ietf-httpbis-http2-16" . IETF . Consultado el 3 de enero de 2015 .
2014-12-16 Estado de IESG cambiado a Publicación solicitada
- ^ a b Raymor, Brian (6 de agosto de 2014). "¡Espere, HTTP / 2 comienza la última llamada del grupo de trabajo!" . Tecnologías abiertas de Microsoft. Archivado desde el original el 6 de octubre de 2014 . Consultado el 17 de octubre de 2018 .
- ^ a b El IESG (17 de febrero de 2015). "Acción del protocolo: 'Protocolo de transferencia de hipertexto versión 2' al estándar propuesto (borrador-ietf-httpbis-http2-17.txt)" . httpbis (lista de correo) . Consultado el 18 de febrero de 2015 .
- ^ Mark Nottingham (18 de febrero de 2015). "Aprobado por HTTP / 2" . ietf.org . Grupo de trabajo de ingeniería de Internet . Consultado el 8 de marzo de 2015 .
- ^ "RFC 7540 - Protocolo de transferencia de hipertexto versión 2 (HTTP / 2)" . IETF. Mayo de 2015 . Consultado el 14 de mayo de 2015 .
- ^ "¡Vea las novedades de Firefox!" . www.mozilla.org . Fundación Mozilla. Febrero de 2015.
- ^ "¿Puede el auge de SPDY amenazar a HTTP?" . blog.restlet.com . Restlet, Inc. Octubre de 2011. Archivado desde el original el 6 de enero de 2014 . Consultado el 23 de julio de 2012 .
- ^ "Soporte del navegador HTTP2" . Consultado el 9 de marzo de 2017 .
- ^ "Puedo usar ... Tablas de soporte para HTML5, CSS3, etc." . caniuse.com . Consultado el 4 de marzo de 2021 .
- ^ "Uso de HTTP / 2 para sitios web" . Encuestas sobre tecnología de la World Wide Web . W3Techs . Consultado el 1 de abril de 2021 .
- ^ Bishop, Mike (9 de julio de 2019). "Protocolo de transferencia de hipertexto versión 3 (HTTP / 3)" . tools.ietf.org . Consultado el 31 de julio de 2019 .
- ^ "Puedo usar ... Tablas de soporte para HTML5, CSS3, etc." . caniuse.com . Consultado el 19 de enero de 2020 .
- ^ 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 .
- ^ a b Ilya Grigorik. "Capítulo 12: HTTP 2.0" . Redes de navegadores de alto rendimiento . O'Reilly Media, Inc.
HTTP / 2 no modifica la semántica de la aplicación de HTTP de ninguna manera.
- ^ Pratt, Michael. "Apiux" . apiux.com . Consultado el 19 de marzo de 2014 .
- ^ Dio Synodinos (noviembre de 2012). "Publicación del primer borrador de HTTP 2.0" . InfoQ.com . C4Media Inc.
- ^ Javier Garza (octubre de 2017). "¿Cómo resuelve HTTP / 2 el problema de bloqueo de cabecera de línea (HOL)" .
- ^ Belshe, Mike; Thomson, Martin; Peon, Roberto (mayo de 2015). "Protocolo de transferencia de hipertexto versión 2 (HTTP / 2)" . tools.ietf.org . Consultado el 17 de noviembre de 2017 .
HTTP / 2 usa tramas de DATOS para transportar cargas útiles de mensajes. La codificación de transferencia "fragmentada" definida en la Sección 4.1 de [RFC7230] NO DEBE utilizarse en HTTP / 2
- ^ a b Sebastian Anthony (28 de marzo de 2012). "S&M vs SPDY: Microsoft y Google luchan por el futuro de HTTP 2.0" . ExtremeTech.
- ^ a b Grigorik, Ilya. "La vida más allá de HTTP 1.1: SPDY de Google" .
- ^ Willy Tarreau; Amos Jeffries; Adrien de Croy; Poul-Henning Kamp (29 de marzo de 2012). "Propuesta para una actualización HTTP compatible con la red" . Grupo de trabajo en red . Grupo de trabajo de ingeniería de Internet .
- ^ Doug Beaver (15 de julio de 2012). "Expresión de interés HTTP2" (lista de correo). W3C.
- ^ Dio Synodinos (30 de noviembre de 2012). "HTTP / 2 Primer borrador publicado" . InfoQ.
- ^ a b Ilya, Grigorik (2015). HTTP / 2: un nuevo extracto de las redes de navegadores de alto rendimiento (mayo de 2015, primera edición). Sebastopol, California: O'Reilly Media. págs. 211–224. ISBN 9781491932483. OCLC 1039459460 .
- ^ "SPDY: Un protocolo experimental para una web más rápida" . Los proyectos de Chromium .
- ^ 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.
- ^ "Desactivaciones y eliminaciones de API en Chrome 51" .
TL; DR: El soporte para HTTP / 2 está lo suficientemente extendido como para que se pueda eliminar el soporte de SPDY / 3.1.
- ^ Shadrin, Nick (7 de junio de 2016). "Compatible con HTTP / 2 para usuarios de Google Chrome | NGINX" . NGINX . Consultado el 10 de julio de 2017 .
- ^ a b Nottingham, Mark (7 de junio de 2014). "RFC2616 está muerto" . Consultado el 20 de septiembre de 2014 .
- ^ "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 .
- ^ "Requisitos de seguridad para HTTP: draft-ietf-httpbis-security-properties-00.txt" . 23 de enero de 2008 . Consultado el 20 de septiembre de 2014 .
- ^ Nottingham, Mark (24 de enero de 2012). "Rechartering HTTPbis" . Consultado el 20 de septiembre de 2014 .
- ^ Nottingham, Mark (14 de octubre de 2012). "Última convocatoria del grupo de trabajo para HTTP / 1.1 p1 y p2" . Consultado el 20 de septiembre de 2014 .
- ^ Nottingham, Mark (23 de octubre de 2012). "Segunda convocatoria del segundo grupo de trabajo para HTTP / 1.1 p4 a p7" . Consultado el 20 de septiembre de 2014 .
- ^ "Protocolo SPDY: draft-ietf-httpbis-http2-00" . Grupo de trabajo HTTPbis. 28 de noviembre de 2012 . Consultado el 20 de septiembre de 2014 .
- ^ Nottingham, Mark (30 de noviembre de 2012). "Primer borrador de HTTP / 2" . Consultado el 20 de septiembre de 2014 .
- ^ "Protocolo de transferencia de hipertexto (HTTP / 1.1): enrutamiento y sintaxis de mensajes" . Archivado desde el original el 13 de agosto de 2014 . Consultado el 20 de septiembre de 2014 .
- ^ "Última llamada: (Protocolo de transferencia de hipertexto (HTTP / 1.1): Sintaxis y enrutamiento de mensajes) al estándar propuesto" . El IESG. 21 de octubre de 2013 . Consultado el 20 de septiembre de 2014 .
- ^ "Acción de protocolo: 'Protocolo de transferencia de hipertexto (HTTP / 1.1): Sintaxis y enrutamiento de mensajes' al estándar propuesto (borrador-ietf-httpbis-p1-messaging-26.txt)" . ietf-publish (lista de correo). El IESG. 12 de febrero de 2014 . Consultado el 18 de enero de 2015 .
- ^ El equipo de redacción de RFC (6 de junio de 2014). "RFC 7230 sobre Protocolo de transferencia de hipertexto (HTTP / 1.1): sintaxis y enrutamiento de mensajes" . ietf-publish (lista de correo) . Consultado el 18 de enero de 2015 .
- ^ Nottingham, Mark (1 de agosto de 2014). "Última llamada del grupo de trabajo: draft-ietf-httpbis-http2-14 y draft-ietf-httpbis-header-compress-09" . Grupo de trabajo HTTP . Consultado el 7 de septiembre de 2014 .
- ^ "Última convocatoria: (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto del IESG el 31-12-2014" . Grupo de Trabajo de Ingeniería de Internet. 2014 . Consultado el 1 de enero de 2015 .
- ^ "Agenda IESG: 2015-01-22" . IETF. Archivado desde el original el 15 de enero de 2015 . Consultado el 15 de enero de 2015 .
- ^ El equipo de redacción de RFC (14 de mayo de 2015). "RFC 7540 sobre Protocolo de transferencia de hipertexto versión 2 (HTTP / 2)" . ietf-publish (lista de correo).
- ^ "RFC 7301 - Extensión de negociación de protocolo de capa de aplicación de seguridad de la capa de transporte (TLS)" . IETF. Julio de 2014.
- ^ a b "Preguntas frecuentes sobre HTTP / 2" . Grupo de trabajo IETF HTTP . Consultado el 8 de septiembre de 2014 .
- ^ "Redes / http2" . MozillaWiki . Consultado el 7 de septiembre de 2014 .
- ^ "Estado de implementación HTTP / 2" . blog de mnot .
- ^ a b c d Kamp, Poul-Henning (6 de enero de 2015). "HTTP / 2.0 - El IETF lo está llamando (protocolo incorrecto, política incorrecta)" . Cola de ACM . Cite journal requiere
|journal=
( ayuda ) - ^ Grigorik, Ilya. "¿TLS ya es rápido?" . Consultado el 30 de diciembre de 2015 .
- ^ Kamp, PH (2015). "Http / 2.0". Comunicaciones de la ACM . 58 (3): 40. doi : 10.1145 / 2717515 .
- ^ Kamp, Poul-Henning (7 de enero de 2015). "Re: Última llamada: (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto" . [email protected] (lista de correo) . Consultado el 12 de enero de 2015 .
- ^ Lear, Eliot (25 de agosto de 2013). "El cifrado obligatorio * es * teatro" . [email protected] (lista de correo) . Consultado el 26 de enero de 2015 .
- ^ Murenin, Constantine A. (9 de enero de 2015). "Re: Última llamada: (Protocolo de transferencia de hipertexto versión 2) al estándar propuesto" . [email protected] (lista de correo) . Consultado el 12 de enero de 2015 .
- ^ 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 .
- ^ Mark Nottingham; Martin Thomson. "Cifrado oportunista para HTTP URI: draft-nottingham-http2-encryption-03" . Grupo de trabajo de ingeniería de Internet .
- ^ Mark Nottingham; Martin Thomson. "Seguridad oportunista para HTTP: draft-ietf-httpbis-http2-encryption-01" . Grupo de trabajo de ingeniería de Internet .
- ^ Huston, Geoff (4 de marzo de 2019). "Una mirada rápida a QUIC" . www.circleid.com . Consultado el 2 de agosto de 2019 .
- ^ Gal, Shauli (22 de junio de 2017). "La imagen completa en HTTP / 2 y bloqueo HOL" . Medio . Consultado el 3 de agosto de 2019 .
- ^ "Módulo http / 2 para apache httpd" . Consultado el 28 de julio de 2015 .
- ^ "Registro de cambios de la versión de Apache 2.4.17" . Consultado el 22 de agosto de 2017 .
- ^ Matthew Steele (19 de junio de 2014). "mod_spdy es ahora un proyecto de Apache" . Blog de desarrolladores de Google .
- ^ "Registro de / httpd / mod_spdy" . svn.apache.org . Consultado el 3 de febrero de 2017 .
- ^ "Migración de Apache Tomcat" . Consultado el 29 de julio de 2016 .
- ^ "Descargas del servidor de tráfico Apache" . trafficserver.apache.org . 21 de septiembre de 2015.
- ^ Server, 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 .
- ^ "Charles 4 tiene HTTP / 2" . Objeto público . 2 de agosto de 2016 . Consultado el 12 de octubre de 2020 .
- ^ "Tres sencillos pasos para llevar el rendimiento HTTP / 2 a las aplicaciones web heredadas" . 22 de septiembre de 2015.
- ^ "Sucuri + = HTTP / 2 - Anuncio de soporte HTTP / 2" . Sucuri . Consultado el 5 de diciembre de 2015 .
- ^ Robert Haynes. "Adiós SPDY, Hola HTTP / 2" . Redes F5 . Consultado el 18 de septiembre de 2015 .
- ^ Risov Chakrabortty. "Nuevas características, capacidades agregadas a Barracuda Web Application Firewall" . Barracuda Networks.
- ^ "H2O - el servidor HTTP / 2 optimizado" . h2o.examp1e.net .
- ^ "Novedades de HAProxy 1.8" . haproxy.com . Consultado el 9 de febrero de 2018 .
- ^ "Registro de cambios de embarcadero" . Fundación Eclipse. 28 de mayo de 2015 . Consultado el 28 de mayo de 2015 .
- ^ "Función n.º 2813: compatibilidad con el protocolo HTTP / 2" , Lighttpd
- ^ "LSWS 5.0 está disponible - Soporte para HTTP / 2, ESI, LiteMage Cache" . 17 de abril de 2015.
- ^ Rob Trace; David Walp (8 de octubre de 2014). "HTTP / 2: La secuela tan esperada" . MSDN IEBlog . Corporación Microsoft.
- ^ "Netty.news: Netty 4.1.0.Final lanzado" . netty.io . Consultado el 1 de junio de 2016 .
- ^ "registro de cambios de nginx" . www.nginx.com . 22 de septiembre de 2015.
- ^ "Cambios con nginx 1.14.2" . nginx.org . 4 de diciembre de 2018 . Consultado el 27 de septiembre de 2019 .
- ^ Fundación, Node js. "Nodo v8.13.0 (LTS)" . Node.js . Consultado el 5 de junio de 2019 .
- ^ "Nodo http2" . www.github.com . 26 de julio de 2016.
- ^ "Nodo v8.4.0 (actual)" . nodejs.org . 15 de agosto de 2017.
- ^ "ASP.NET Core 2.2.0-preview1: HTTP / 2 en Kestrel" . Consultado el 6 de abril de 2021 .
- ^ "Registro de cambios de OpenLiteSpeed 1.4.5" . LiteSpeed Technologies, Inc. 26 de febrero de 2015 . Consultado el 26 de febrero de 2015 .
- ^ "Pulse Virtual Traffic Manager" . 22 de agosto de 2017.
- ^ "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 servidor web" . 20 de julio de 2015.
- ^ "www.shimmercat.com" . 23 de marzo de 2016.
- ^ "¿Por qué PageCDN y qué problema resuelve?" . PageCDN . Consultado el 11 de enero de 2020 .
- ^ "¡HTTP / 2 ya está aquí! ¿Adiós, SPDY? Todavía no" . CloudFlare . Consultado el 5 de diciembre de 2015 .
- ^ Krasnov, Vlad (28 de abril de 2016). "Anuncio de soporte para HTTP / 2 Server Push" . CloudFlare . Consultado el 18 de mayo de 2016 .
- ^ "Amazon CloudFront ahora es compatible con HTTP / 2" . Amazon Web Services, Inc . Consultado el 8 de septiembre de 2016 .
- ^ "Anuncio de disponibilidad limitada para HTTP / 2" . Consultado el 22 de agosto de 2017 .
- ^ "HTTP / 2 está aquí: lo que necesita saber" . Consultado el 1 de noviembre de 2015 .
- ^ "¿HTTP / 2 corre más riesgo de sufrir ataques cibernéticos?" . Era de la información . 3 de agosto de 2016 . Consultado el 4 de febrero de 2019 .
enlaces externos
- Página web oficial
- RFC 7540 - Protocolo de transferencia de hipertexto versión 2 (HTTP / 2)
- RFC 7541 - HPACK: Compresión de encabezado para HTTP / 2
- Protocolo SPDY (draft-mbelshe-httpbis-spdy-00)
- HTTP Speed + Mobility (borrador-Montenegro-httpbis-speed-mobility-01)
- Propuesta para una actualización HTTP compatible con la red (draft-tarreau-httpbis-network-friendly-00)