stringtranslate.com

Ágil

SPDY (pronunciado "speedy") [1] es un protocolo de comunicación de especificación abierta obsoleto desarrollado para transportar contenido web . [1] SPDY se convirtió en la base de la especificación HTTP/2 . Sin embargo, HTTP/2 se desvió de SPDY y, finalmente, HTTP/2 absorbió todos los casos de uso de SPDY. [2] Después de que HTTP/2 fuera ratificado como estándar, los principales implementadores, incluidos Google, Mozilla y Apple, dejaron de usar SPDY en favor de HTTP/2. Desde 2021, ningún navegador moderno admite SPDY.

Google anunció SPDY a fines de 2009 y lo implementó en 2010. SPDY manipula el tráfico HTTP , con objetivos particulares de reducir la latencia de carga de la página web y mejorar la seguridad web . SPDY logra una latencia reducida a través de la compresión , multiplexación y priorización, [1] aunque esto depende de una combinación de condiciones de implementación de la red y del sitio web. [3] [4] [5] El nombre "SPDY" no es un acrónimo . [6]

Historia

El HTTP/2 se debatió por primera vez cuando se hizo evidente que SPDY estaba ganando terreno entre los implementadores (como Mozilla y nginx) y mostraba mejoras significativas con respecto a HTTP/1.x. Después de una convocatoria de propuestas y un proceso de selección, se eligió SPDY como base para HTTP/2. Desde entonces, se han producido varios cambios, basados ​​en el debate en el grupo de trabajo y los comentarios de los implementadores. [2]

En julio de 2012 , el grupo que estaba desarrollando SPDY declaró públicamente que estaba trabajando para lograr la estandarización (disponible como borrador de Internet ). [7] El primer borrador de HTTP/2 utilizó SPDY como base de trabajo para su borrador de especificación y edición. [8] El grupo de trabajo de IETF para HTTPbis ha publicado el borrador de HTTP/2 . [9] SPDY (draft-mbelshe-httpbis-spdy-00) fue elegido como punto de partida. [10] [11]

Durante todo el proceso, los desarrolladores principales de SPDY han estado involucrados en el desarrollo de HTTP/2, incluidos Mike Belshe y Roberto Peon.

Chromium , [12] Mozilla Firefox , [13] Opera , [14] Amazon Silk , Internet Explorer , [15] y Safari [16] expresaron su apoyo a SPDY en ese momento.

En febrero de 2015, Google anunció que, tras la ratificación del estándar HTTP/2, el soporte para SPDY quedaría obsoleto y se retiraría. [17] El 15 de mayo de 2015, HTTP/2 fue ratificado oficialmente como RFC  7540.

El 11 de febrero de 2016, Google anunció que Chrome ya no soportaría SPDY después del 15 de mayo de 2016, el primer aniversario de RFC  7540 que estandarizó HTTP/2 . [18]

El 25 de enero de 2019, Apple anunció que SPDY quedaría obsoleto en favor de HTTP/2 y se eliminaría en futuras versiones. [19]

Google eliminó la compatibilidad con SPDY en Google Chrome 51, que se lanzó en 2016. [20] Mozilla lo eliminó en Firefox 50. [21] Apple ha dejado obsoleta la tecnología en macOS 10.14.4 y iOS 12.2. [19]

Versiones del protocolo

SPDY es un protocolo con versiones. Las tramas de control SPDY contienen 15 bits dedicados para indicar la versión del protocolo utilizado para la sesión actual. [22]

Diseño

El objetivo de SPDY es reducir el tiempo de carga de las páginas web. [35] Esto se logra priorizando y multiplexando la transferencia de subrecursos de páginas web de modo que solo se requiera una conexión por cliente. [1] [36] El cifrado TLS es casi omnipresente en las implementaciones de SPDY, y los encabezados de transmisión están comprimidos con gzip (o DEFLATE) por diseño [27] (a diferencia de HTTP, donde los encabezados se envían como texto legible para humanos). Además, los servidores pueden sugerir o incluso enviar contenido en lugar de esperar solicitudes individuales para cada recurso de una página web. [37]

SPDY requiere el uso de SSL/TLS (con la extensión TLS ALPN ) por razones de seguridad, pero también admite el funcionamiento sobre TCP simple . El requisito de SSL es por razones de seguridad y para evitar incompatibilidades cuando la comunicación se realiza a través de un proxy .

Relación con HTTP

SPDY no reemplaza a HTTP; modifica la forma en que se envían las solicitudes y respuestas HTTP a través de la red . [1] Esto significa que todas las aplicaciones existentes del lado del servidor se pueden usar sin modificaciones si se instala una capa de traducción compatible con SPDY.

SPDY es, en efecto, un túnel para los protocolos HTTP y HTTPS. Cuando se envían a través de SPDY, las solicitudes HTTP se procesan, se convierten en tokens, se simplifican y se comprimen. Por ejemplo, cada punto final SPDY lleva un registro de los encabezados que se han enviado en solicitudes anteriores y puede evitar volver a enviar los encabezados que no han cambiado; los que deben enviarse se comprimen.

Soporte de protocolo

Para su uso dentro de HTTPS , SPDY requiere la extensión TLS Next Protocol Negotiation (NPN) [38] o Application-Layer Protocol Negotiation (ALPN) [39], por lo que la compatibilidad del navegador y del servidor depende de la biblioteca HTTPS.

OpenSSL 1.0.1 o superior introduce NPN. [40] También se han escrito parches para agregar compatibilidad con NPN para NSS y TLSLite. [41]

La interfaz de proveedor de soporte de seguridad (SSPI) de Microsoft no ha implementado la extensión NPN en su implementación de TLS. Esto ha impedido la inclusión de SPDY en las últimas versiones de .NET Framework. Dado que la especificación SPDY se está perfeccionando y se espera que HTTP/2 incluya la implementación de SPDY, se podría esperar que Microsoft lance el soporte después de que se finalice HTTP/2.

Soporte y uso del cliente (navegador)

Soporte y uso del servidor

A partir de mayo de 2021 , aproximadamente el 0,1 % de todos los sitios web admiten SPDY, [56] en parte debido a la transición a HTTP/2 . En 2016, NGINX y Apache [57] fueron los principales proveedores de tráfico SPDY. [58] En 2015, NGINX 1.9.5 abandonó la compatibilidad con SPDY en favor de HTTP/2. [59]

Algunos servicios de Google (por ejemplo, Google Search , Gmail y otros servicios habilitados para SSL ) utilizan SPDY cuando está disponible. [60] Los anuncios de Google también se sirven desde servidores habilitados para SPDY. [61]

Una breve historia del soporte de SPDY entre los principales actores web:

Según W3Techs, a partir de mayo de 2021 , la mayoría de los sitios web habilitados para SPDY usan nginx, y el servidor web LiteSpeed ​​ocupa el segundo lugar. [58]

Véase también

Referencias

  1. ^ abcde "SPDY: Un protocolo experimental para una web más rápida". Documentación para desarrolladores de Chromium . Consultado el 13 de noviembre de 2009 .
  2. ^ ab "Preguntas frecuentes sobre HTTP/2". http2.github.io .
  3. ^ Elkhatib, Yehia; Tyson, Gareth; Welzl, Michael (2014). Conferencia sobre redes IFIP de 2014. págs. 1–9. CiteSeerX 10.1.1.698.2343 . doi :10.1109/IFIPNetworking.2014.6857089. ISBN  978-3-901882-58-6. Número de identificación del sujeto  13841087.
  4. ^ Podjarny, Guy. "No es tan ágil como pensabas". Archivado desde el original el 12 de octubre de 2012. Consultado el 12 de octubre de 2012 .
  5. ^ Abdelsalam, Ahmed; Celandroni, Nedo; Collina, Matteo; Cruickshank, Haitham; Fairhurst, Gorry; Ferro, Erina; Gotta, Alberto; Luglio, Michele; Roseti, Cesare (1 de julio de 2015). "Un análisis profundo sobre las futuras tecnologías web y protocolos en redes satelitales GEO de banda ancha". Revista internacional de comunicaciones por satélite y redes . 33 (5): 451–472. doi :10.1002/sat.1120. ISSN  1542-0981.
  6. ^ "Preguntas frecuentes sobre SPDY". The Chromium Projects . Consultado el 23 de febrero de 2015. Queríamos un nombre que reflejara la velocidad. SPDY, que se pronuncia "SPeeDY", refleja esto y también muestra cómo la compresión puede ayudar a mejorar la velocidad.
  7. ^ "Protocolo SPDY en IETF" . Consultado el 8 de febrero de 2012 .
  8. ^ Nottingham, Mark. "Primer borrador de HTTP/2". Lista de correo del grupo de trabajo HTTP . Consultado el 2 de diciembre de 2012 .
  9. ^ Nottingham, Mark. "¿Qué viene a continuación para HTTP?" . Consultado el 31 de marzo de 2012 .
  10. ^ "Reenvío: [nuevo trabajo] Revisión del GT: Protocolo de transferencia de hipertexto Bis (httpbis)".
  11. ^ "El grupo de trabajo HTTPbis comienza a considerar el protocolo HTTP/2.0". InfoQ . 28 de abril de 2012 . Consultado el 9 de agosto de 2012 .
  12. ^ "¿SPDY en los servidores de Google?" . Consultado el 28 de febrero de 2012 .
  13. ^ ab "Error de Mozilla 528288: Implementar el protocolo SPDY".
  14. ^ "Opera: Soporte integrado para el protocolo SPDY" . Consultado el 6 de noviembre de 2012 .
  15. ^ "IE11 SPDY/3 confirmado". 2013-06-25 . Consultado el 2013-06-25 .
  16. ^ "Apple — Información de prensa — Apple anuncia OS X Yosemite". 2 de junio de 2014. Consultado el 2 de junio de 2014 .
  17. ^ Chris Bentzel y Bence Béky (9 de febrero de 2015). "Hola HTTP/2, adiós SPDY".
  18. ^ Béky, Bence (11 de febrero de 2016). "Transición de SPDY a HTTP/2" . Consultado el 12 de febrero de 2016 .
  19. ^ ab Marshall, Scott (25 de enero de 2019). "Eliminación de la compatibilidad con el protocolo SPDY heredado". WebKit . Consultado el 7 de marzo de 2019 .
  20. ^ "Transición de SPDY a HTTP/2". Blog de Chromium . Consultado el 5 de febrero de 2022 .
  21. ^ "1287132 - Desactivar SPDY 3.1". bugzilla.mozilla.org .
  22. ^ ab Protocolo SPDY - Borrador 2: "Actualmente, la única cadena válida es "spdy/2" (spdy/1 ya no está implementado en ningún lado)".
  23. ^ "Módulo ngx_http_spdy_module". Nginx.org . Consultado el 3 de junio de 2014 .
  24. ^ ab "Notas de la versión beta de Firefox: escritorio". 2014-02-06 . Consultado el 2014-02-07 .
  25. ^ "Problema 303957 - Chromium: hacer que Chrome admita solo SPDY/3 y versiones posteriores: un proyecto de código abierto para ayudar a que la web avance. - Google Project Hosting". 2013-10-03 . Consultado el 2014-02-19 .
  26. ^ abc OpenLiteSpeed ​​1.1 (¡Con SPDY!) Consultado el 12 de agosto de 2013.
  27. ^ ab "Protocolo SPDY — Borrador 3" . Consultado el 25 de agosto de 2012 .
  28. ^ ab "Firefox 15 — Notas de la versión" . Consultado el 3 de septiembre de 2012 .
  29. ^ "Protocolo SPDY — Borrador 3.1" . Consultado el 17 de noviembre de 2013 .
  30. ^ ab "Firefox Notes Desktop". 4 de febrero de 2014. Consultado el 5 de febrero de 2014 .
  31. ^ ab OpenLiteSpeed ​​¡El primer servidor web compatible con SPDY/3.1! Consultado el 10 de enero de 2014.
  32. ^ NGINX anuncia soporte para SPDY/3.1 Consultado el 4 de febrero de 2014.
  33. ^ Notas de la versión de F5 Bigip 11.6.0 Consultado el 10 de marzo de 2015.
  34. ^ "Próximos cambios en SPDY/4 para que esté más en sintonía con el borrador HTTP/2" . Consultado el 27 de febrero de 2014 .
  35. ^ "Una Web dos veces más rápida". Blog oficial de Google Chromium. 2009-11-11 . Consultado el 2009-11-13 .
  36. ^ Iljitsch van Beijnum (12 de noviembre de 2009). "SPDY: Google quiere acelerar la web abandonando el protocolo HTTP". Ars Technica . Consultado el 13 de noviembre de 2009 .
  37. ^ Mirko Lindner (13 de noviembre de 2009). "Google ha introducido una alternativa HTTP SPDY" (en alemán) . Consultado el 21 de octubre de 2011 .
  38. ^ Protocolo NPN y explicación sobre su necesidad de tunelizar SPDY sobre HTTPS.
  39. ^ "ImperialViolet - NPN y ALPN". www.imperialviolet.org . Consultado el 8 de junio de 2021 .
  40. ^ Registro de cambios de Openssl 1.0.1.
  41. ^ Negociación del siguiente protocolo TLS. Sección: Implementaciones Archivado el 30 de julio de 2012 en Wayback Machine .
  42. ^ Implementación del cliente Chromium SPDY.
  43. ^ Chromium: ejemplos de proxy SPDY Archivado el 19 de septiembre de 2017 en Wayback Machine .
  44. ^ Lista de parámetros de la línea de comandos de Chromium.
  45. ^ Bentzel, Chris; Béky, Bence (9 de febrero de 2015). "Hola HTTP/2, adiós SPDY". Blog de Chromium . Consultado el 9 de febrero de 2015 .
  46. ^ "Grupos de Google". groups.google.com .
  47. ^ "Indicador HTTP/2 y SPDY". Complementos para Firefox . Mozilla. 2014-11-26 . Consultado el 2015-02-12 .
  48. ^ David Honneffer, especialista en documentación. "Opera: Registro de cambios de Opera 12.10".
  49. ^ "WebGL, SPDY/3, nuevas herramientas de desarrollo y más, confirmados para IE11 en Win 8.1". Microsoft News.
  50. ^ "Cambios en IE11". Microsoft.
  51. ^ "Microsoft lanza Internet Explorer 11 para Windows 7". 7 de noviembre de 2013.
  52. ^ "¿Google no se carga la primera vez en IE11 a través de un proxy web en Windows 8.1? Desactive la compatibilidad con SPDY. | The Angry Technician". Angrytechnician.wordpress.com. 2014-01-16 . Consultado el 2014-02-19 .
  53. ^ Rob Trace; David Walp (8 de octubre de 2014). «HTTP/2: The Long-Awaited Sequel». Microsoft . Consultado el 8 de octubre de 2014 .
  54. ^ Ryan Paul (28 de septiembre de 2011). "El navegador web Silk de Amazon añade un nuevo giro a una vieja idea" . Consultado el 21 de octubre de 2011 .
  55. ^ "Novedades en redes de base" (PDF) . Apple inc . Consultado el 7 de julio de 2014 .
  56. ^ "Uso de SPDY para sitios web". w3techs.com . Consultado el 4 de mayo de 2021 .
  57. ^ "Uso de servidores web para sitios web". w3techs.com . Consultado el 26 de julio de 2016 .
  58. ^ ab "Distribución de servidores web entre sitios web que utilizan SPDY" . Consultado el 4 de mayo de 2021 .
  59. ^ ab "HTTP/2 compatible con NGINX 1.9.5 de código abierto - NGINX". 22 de septiembre de 2015.
  60. ^ Lista de correo spdy-dev: ¿SPDY en los servidores de Google?.
  61. ^ Google acelera la descarga de páginas web con el protocolo SPDY - Computación en la nube - Noticias y reseñas. eWeek.com (20 de junio de 2011). Consultado el 21 de noviembre de 2013.
  62. ^ "Blog de investigación: Una web dos veces más rápida". Blog de investigación .
  63. ^ Ido Safruti (15 de junio de 2011). "De rápido a rápido: Velocidad 2011".
  64. ^ "Grupos de Google".
  65. ^ Twitter adopta SPDY Archivado el 11 de marzo de 2012 en Wayback Machine .
  66. ^ Característica del embarcadero SPDY.
  67. ^ "industria/node-spdy · GitHub". Github.com . Consultado el 10 de mayo de 2012 .
  68. ^ Fedor Indutny (24 de enero de 2012). "What $%@! is SPDY — blog.nodejitsu.com — scaling node.js applications one callback at a time" (¿Qué diablos es SPDY? — blog.nodejitsu.com — escalando aplicaciones node.js una devolución de llamada a la vez). blog.nodejitsu.com . Consultado el 10 de mayo de 2012 .
  69. ^ "mod-spdy — Módulo Apache SPDY — Hospedaje de proyectos de Google" . Consultado el 10 de mayo de 2012 .
  70. ^ "libspdy". daniel.haxx.se. 18 de octubre de 2011. Consultado el 10 de mayo de 2012 .
  71. ^ "@DeviaVir Va bien ;) Hasta ahora vamos según lo previsto, con suerte deberíamos estar disponibles a finales de mayo". Twitter .
  72. ^ "mod_spdy — mod_spdy — Desarrolladores de Google" . Consultado el 10 de mayo de 2012 .
  73. ^ F5 ayuda a las organizaciones a mejorar la experiencia del usuario y simplificar la gestión con el primer gateway SPDY integrado | Acerca de F5 | F5 Networks Archivado el 11 de junio de 2012 en Wayback Machine . F5.com (8 de mayo de 2012). Consultado el 21 de noviembre de 2013.
  74. ^ "Anuncio de la implementación del borrador 2 de SPDY en nginx". Nginx. 2012-06-15 . Consultado el 2012-06-16 .
  75. ^ Beaver, Doug. "Expresión de interés HTTP2". W3C . Consultado el 15 de julio de 2012 .
  76. ^ Finley, Klint. "Facebook se vuelve un poco más ágil". Wired . Consultado el 18 de marzo de 2013 .
  77. ^ "Acabo de habilitar #SPDY para todos los sitios alojados en http://WordPress.com/". 28 de agosto de 2012. Consultado el 28 de agosto de 2012 .
  78. ^ [1] Versión beta del DSM 5.0
  79. ^ John Graham-Cumming (17 de febrero de 2014). "Mantenerse actualizado con los últimos protocolos: SPDY/3.1 | Blog de CloudFlare". Blog.cloudflare.com . Consultado el 19 de febrero de 2014 .
  80. ^ Justin Dorfman. "Ahora en servicio: SPDY 3.1". blog.maxcdn.com . Consultado el 20 de mayo de 2014 .
  81. ^ "Publicar código abierto de nuestro código NGINX HTTP/2 + SPDY". 2016-03-13 . Consultado el 2016-08-05 .
  82. ^ Ghedini, Alessandro; Lalkaka, Rustam (26 de septiembre de 2019). «HTTP/3: el pasado, el presente y el futuro». El blog de Cloudflare . Consultado el 16 de enero de 2020 .

Enlaces externos