{"id":52181,"date":"2019-11-02T00:00:00","date_gmt":"2019-11-01T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/http-3-razrushenie-osnov-i-divnyj-novyj-mir"},"modified":"2020-02-18T13:59:51","modified_gmt":"2020-02-18T10:59:51","slug":"http-3-razrushenie-osnov-i-divnyj-novyj-mir","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","title":{"rendered":"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Durante m\u00e1s de 20 a\u00f1os hemos estado navegando por p\u00e1ginas web a trav\u00e9s del protocolo HTTP. La mayor\u00eda de los usuarios ni siquiera se detiene a pensar en lo que es y c\u00f3mo funciona. Otros saben que debajo de HTTP est\u00e1 TLS, y debajo de este TCP, y luego IP, y as\u00ed sucesivamente. Y hay quienes, considerados herejes, creen que TCP es cosa del pasado y desean algo m\u00e1s r\u00e1pido, confiable y seguro. Pero en sus intentos de inventar un nuevo protocolo ideal, han regresado a las tecnolog\u00edas de los a\u00f1os 80, tratando de construir su maravilloso nuevo mundo sobre ellas.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/869bd86cc0b47c6c42f315cf20640018.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Un poco de historia: HTTP\/1.1<\/h2>\n<p>\nEn 1997, el protocolo de intercambio de informaci\u00f3n textual HTTP versi\u00f3n 1.1 obtuvo su RFC. En ese momento, el protocolo ya hab\u00eda sido utilizado por los navegadores durante varios a\u00f1os, y el nuevo est\u00e1ndar se mantuvo vigente durante otros quince. El protocolo funcionaba \u00fanicamente seg\u00fan el principio de solicitud-respuesta y estaba destinado, principalmente, a la transmisi\u00f3n de informaci\u00f3n textual.<\/p>\n<p>HTTP fue dise\u00f1ado para funcionar sobre el protocolo TCP, que garantiza la entrega confiable de paquetes al destinatario. El funcionamiento de TCP se basa en establecer y mantener una conexi\u00f3n confiable entre los puntos finales y en segmentar el tr\u00e1fico. Los segmentos tienen un n\u00famero de serie y un valor de comprobaci\u00f3n. Si alguno de los segmentos no llega o llega con un valor de comprobaci\u00f3n incorrecto, la transmisi\u00f3n se detiene hasta que se recupere el segmento perdido.<\/p>\n<p>En HTTP\/1.0, la conexi\u00f3n TCP se cerraba despu\u00e9s de cada solicitud. Esto era sumamente derrochador, ya que establecer una conexi\u00f3n TCP (3-Way-Handshake) no es un proceso r\u00e1pido. En HTTP\/1.1 se introdujo el mecanismo keep-alive, que permite reutilizar una conexi\u00f3n para varias solicitudes. Sin embargo, ya que esto puede convertirse f\u00e1cilmente en un cuello de botella, en diferentes implementaciones de HTTP\/1.1 se permite abrir varias conexiones TCP a un mismo host. Por ejemplo, en Chrome y en las \u00faltimas versiones de Firefox se permiten hasta seis conexiones.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/b1c131da8e62ace741f3064f2fb96c60.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nSe supon\u00eda que la cifrado tambi\u00e9n ser\u00eda delegado a otros protocolos, y para ello, sobre TCP se comenz\u00f3 a utilizar el protocolo TLS, que protege los datos de manera bastante confiable, pero tambi\u00e9n increment\u00f3 a\u00fan m\u00e1s el tiempo necesario para establecer una conexi\u00f3n. En consecuencia, el proceso de handshake se ve\u00eda as\u00ed:<br \/>\n <img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/2fdccf56e0ed29444557836fdc65351b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ilustraci\u00f3n de Cloudflare<\/i><\/p>\n<p>De este modo, HTTP\/1.1 ten\u00eda varios problemas:<\/p>\n<ul>\n<li>Lento establecimiento de la conexi\u00f3n.<\/li>\n<li>Los datos se transmiten en formato de texto, lo que significa que la transmisi\u00f3n de im\u00e1genes, videos y otra informaci\u00f3n no textual no es eficiente.<\/li>\n<li>Una conexi\u00f3n TCP se utiliza para una solicitud, por lo que las dem\u00e1s solicitudes deben encontrar otra conexi\u00f3n o esperar a que la solicitud actual la libere.<\/li>\n<li>Solo se admite el modelo de pull. No hay nada en el est\u00e1ndar sobre server-push.<\/li>\n<li>Las cabeceras se transmiten como texto.<\/li>\n<\/ul>\n<p>\nSi bien el server-push se implementa m\u00e1s o menos a trav\u00e9s del protocolo WebSocket, hab\u00eda que abordar otros problemas de manera m\u00e1s radical.<\/p>\n<h2>Un poco de modernidad: HTTP\/2<\/h2>\n<p>\nEn 2012, en las entra\u00f1as de Google, comenz\u00f3 a trabajarse en el protocolo SPDY (se pronuncia 'speedy'). Este protocolo estaba destinado a resolver los principales problemas de HTTP\/1.1, mientras manten\u00eda la compatibilidad hacia atr\u00e1s. En 2015, el grupo de trabajo de IETF present\u00f3 la especificaci\u00f3n HTTP\/2, basada en el protocolo SPDY. Estas son las diferencias en HTTP\/2:<\/p>\n<ul>\n<li>Serializaci\u00f3n binaria.<\/li>\n<li>Multiplexaci\u00f3n de m\u00faltiples solicitudes HTTP en una \u00fanica conexi\u00f3n TCP.<\/li>\n<li>Server-push de serie (sin WebSocket).<\/li>\n<\/ul>\n<p>\nEl protocolo represent\u00f3 un gran avance. Es significativamente <noindex><a rel=\"nofollow\" href=\"https:\/\/http2.akamai.com\/demo\">m\u00e1s r\u00e1pido que la primera versi\u00f3n<\/a><\/noindex> y no requiere la creaci\u00f3n de m\u00faltiples conexiones TCP: todas las solicitudes a un mismo host se multiplexan en una sola. Es decir, en una conexi\u00f3n hay varios llamados streams, cada uno con su ID. Como ventaja extra, viene con server-push.<\/p>\n<p>Sin embargo, la multiplexaci\u00f3n lleva a otro problema crucial. Imagina que estamos realizando 5 solicitudes asincr\u00f3nicas a un mismo servidor. Con HTTP\/2, todas estas solicitudes se ejecutar\u00e1n en el marco de una \u00fanica conexi\u00f3n TCP, as\u00ed que si se pierde un segmento de cualquiera de las solicitudes o llega incorrecto, la transmisi\u00f3n de todas las solicitudes y respuestas se detendr\u00e1 hasta que se recupere el segmento perdido. Es evidente que cuanto peor sea la calidad de la conexi\u00f3n, m\u00e1s lento funcionar\u00e1 HTTP\/2. <noindex><a rel=\"nofollow\" href=\"https:\/\/http3-explained.haxx.se\/en\/why-tcphol.html\">Seg\u00fan Daniel Stenberg,<\/a><\/noindex>, en condiciones en las que los paquetes perdidos representan el 2% del total, HTTP\/1.1 en el navegador se comporta mejor que HTTP\/2 porque abre 6 conexiones en lugar de una.<\/p>\n<p>Este problema se llama 'head-of-line blocking' y, lamentablemente, no parece posible resolverlo utilizando TCP.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/234a6dc218a9acf8d2212fbdf28f2188.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ilustraci\u00f3n de Daniel Steinberg<\/i><\/p>\n<p>Como resultado, los desarrolladores del est\u00e1ndar HTTP\/2 hicieron un gran trabajo y lograron pr\u00e1cticamente todo lo que se pod\u00eda hacer a nivel de aplicaci\u00f3n en el modelo OSI. Ha llegado el momento de descender al nivel de transporte e inventar un nuevo protocolo de transporte.<\/p>\n<h2>Necesitamos un nuevo protocolo: UDP vs TCP<\/h2>\n<p>\nPronto qued\u00f3 claro que implementar un protocolo de transporte completamente nuevo es una tarea irrealizable en las condiciones actuales. La cuesti\u00f3n es que solo los dispositivos de red o middle-boxes (enrutadores, cortafuegos, servidores NAT&#8230;) conocen el nivel de transporte, y ense\u00f1arles algo nuevo es una tarea extremadamente compleja. Adem\u00e1s, el soporte para los protocolos de transporte est\u00e1 integrado en el n\u00facleo de los sistemas operativos, y los n\u00facleos tampoco cambian f\u00e1cilmente.<\/p>\n<p>Aqu\u00ed podr\u00edamos rendirnos y decir: \"Claro, inventaremos un nuevo HTTP\/3 con preferencias y cortesanas, pero su implementaci\u00f3n llevar\u00e1 de 10 a 15 a\u00f1os (aproximadamente el tiempo que tardar\u00e1 en reemplazarse la mayor\u00eda del hardware)\". Sin embargo, hay otra opci\u00f3n, no tan obvia: usar el protocolo UDP. S\u00ed, ese mismo protocolo con el que intercambi\u00e1bamos archivos en la red local a finales de los noventa y principios de los dos mil. Pr\u00e1cticamente todos los dispositivos actuales saben c\u00f3mo trabajar con \u00e9l.<\/p>\n<p>\u00bfCu\u00e1les son las ventajas de UDP en comparaci\u00f3n con TCP? En primer lugar, no tenemos una sesi\u00f3n de transporte que conozcan los dispositivos. Esto nos permite definir nosotros mismos la sesi\u00f3n en los puntos finales y solucionar los conflictos que surjan. Es decir, no estamos limitados a una o varias sesiones (como en TCP), sino que podemos crear tantas como necesitemos. En segundo lugar, la transmisi\u00f3n de datos por UDP es m\u00e1s r\u00e1pida que por TCP. As\u00ed, en teor\u00eda, podr\u00edamos romper el techo de velocidad alcanzado en HTTP\/2. <\/p>\n<p>Sin embargo, UDP no garantiza la fiabilidad en la transmisi\u00f3n de datos. De hecho, simplemente enviamos paquetes, esperando que sean recibidos en el otro extremo. \u00bfNo se recibieron? Bueno, no hubo suerte... Esto fue suficiente para la transmisi\u00f3n de videos para adultos, pero para cosas m\u00e1s serias se requiere fiabilidad, lo que significa que tendremos que a\u00f1adir algo m\u00e1s sobre UDP.<\/p>\n<p>Al igual que con HTTP\/2, el trabajo en la creaci\u00f3n de un nuevo protocolo comenz\u00f3 en Google en 2012, es decir, aproximadamente al mismo tiempo que se inici\u00f3 el trabajo en SPDY. En 2013, Jim Roskind present\u00f3 al p\u00fablico en general <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.google.com\/document\/d\/1RNHkx_VvKWyWg6Lr8SZ-saqsQx7rFV-ev2jRFUoVD34\/edit\">el protocolo QUIC (Quick UDP Internet Connections)<\/a><\/noindex>, y ya en 2015 se present\u00f3 un borrador de Internet para su estandarizaci\u00f3n en la IETF. En ese momento, el protocolo desarrollado por Roskind en Google difer\u00eda significativamente del propuesto para el est\u00e1ndar, por lo que la versi\u00f3n de Google comenz\u00f3 a llamarse gQUIC.<\/p>\n<h4>\u00bfQu\u00e9 es QUIC?<\/h4>\n<p>\nEn primer lugar, como ya se mencion\u00f3, es un envoltorio sobre UDP. Sobre UDP se establece una conexi\u00f3n QUIC, en la que, al igual que en HTTP\/2, pueden existir m\u00faltiples flujos. Estos flujos existen solo en los puntos finales y se gestionan de manera independiente. Si se pierde un paquete en un flujo, los dem\u00e1s no se ven afectados.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/0a64aa26d9b8216db56d389fa48578a5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ilustraci\u00f3n de Daniel Steinberg<\/i><\/p>\n<p>En segundo lugar, el cifrado ahora se implementa no como un nivel separado, sino que est\u00e1 incorporado en el protocolo. Esto permite establecer conexiones y compartir claves p\u00fablicas en un solo apret\u00f3n de manos, y tambi\u00e9n permite utilizar un ingenioso mecanismo de apret\u00f3n de manos 0-RTT y evitar retrasos durante el apret\u00f3n de manos. Adem\u00e1s, ahora es posible cifrar paquetes de datos individuales. Esto permite no esperar a que se complete la recepci\u00f3n de datos del flujo, sino descifrar los paquetes recibidos de manera independiente. Este modo de operaci\u00f3n era totalmente imposible en TCP, ya que TLS y TCP funcionaban de forma independiente, y TLS no pod\u00eda saber en qu\u00e9 fragmentos se dividir\u00edan los datos de TCP. Por lo tanto, no pod\u00eda preparar sus segmentos para que coincidieran uno a uno con los segmentos de TCP y pudieran ser descifrados de manera independiente. Todas estas mejoras permiten a QUIC reducir la latencia en comparaci\u00f3n con TCP.<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/cb3c522636f7a052a0f5988fe7ea3a65.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nEn tercer lugar, el concepto de flujos ligeros permite desacoplar la conexi\u00f3n de la direcci\u00f3n IP del cliente. Esto es importante, por ejemplo, cuando el cliente cambia de un punto de acceso Wi-Fi a otro, cambiando su IP. En este caso, al usar TCP, ocurre un prolongado proceso en el que las conexiones TCP existentes se caen por timeout y se crean nuevas conexiones desde la nueva IP. En el caso de QUIC, el cliente simplemente sigue enviando paquetes al servidor desde la nueva IP con el ID de flujo anterior. Dado que el ID de flujo ahora es \u00fanico y no se reutiliza, el servidor entiende que el cliente ha cambiado de IP, reenv\u00eda los paquetes perdidos y contin\u00faa la comunicaci\u00f3n desde la nueva direcci\u00f3n.<\/p>\n<p>En cuarto lugar, QUIC se implementa a nivel de aplicaci\u00f3n, no del sistema operativo. Esto, por un lado, permite realizar cambios en el protocolo m\u00e1s r\u00e1pidamente, ya que solo es necesario actualizar la biblioteca, en lugar de esperar una nueva versi\u00f3n del sistema operativo. Por otro lado, esto conlleva un aumento significativo en el consumo del procesador.<\/p>\n<p>Y por \u00faltimo, los encabezados. La compresi\u00f3n de los encabezados es uno de los puntos que difieren entre QUIC y gQUIC. No veo mucho sentido en dedicarle mucho tiempo a esto, solo dir\u00e9 que en la versi\u00f3n sometida a estandarizaci\u00f3n, la compresi\u00f3n de los encabezados se hizo lo m\u00e1s parecida posible a la compresi\u00f3n de los encabezados en HTTP\/2. Se puede leer m\u00e1s al respecto. <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/the-road-to-quic\/\">aqu\u00ed<\/a><\/noindex>.<\/p>\n<h4>\u00bfCu\u00e1n r\u00e1pido es?<\/h4>\n<p>\nEs una pregunta compleja. El hecho es que, hasta que tengamos un est\u00e1ndar, no hay nada que medir. Tal vez, los \u00fanicos datos estad\u00edsticos de los que disponemos son las estad\u00edsticas de Google, que utiliza gQUIC desde 2013 y en 2016 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.ietf.org\/proceedings\/96\/slides\/slides-96-quic-3.pdf\">inform\u00f3 ante el IETF<\/a><\/noindex>, que aproximadamente el 90% del tr\u00e1fico que llega a sus servidores desde el navegador Chrome ahora utiliza QUIC. En esta misma presentaci\u00f3n, informan que a trav\u00e9s de gQUIC, las p\u00e1ginas se cargan aproximadamente un 5% m\u00e1s r\u00e1pido, y en video en streaming hay un 30% menos de interrupciones en comparaci\u00f3n con TCP. <\/p>\n<p>En 2017, un grupo de investigadores liderados por Arash Molavi Kakhki public\u00f3 <noindex><a rel=\"nofollow\" href=\"https:\/\/conferences.sigcomm.org\/imc\/2017\/papers\/imc17-final39.pdf\">un importante trabajo<\/a><\/noindex> sobre el rendimiento de gQUIC en comparaci\u00f3n con TCP. <br \/>\nLa investigaci\u00f3n identific\u00f3 varias debilidades de gQUIC, como la inestabilidad ante la mezcla de paquetes de red, la codicia (unfairness) en el ancho de banda del canal y una transmisi\u00f3n m\u00e1s lenta de objetos peque\u00f1os (hasta 10 kB). Sin embargo, esto \u00faltimo se puede compensar utilizando 0-RTT. En todos los dem\u00e1s casos investigados, gQUIC mostr\u00f3 un aumento en la velocidad en comparaci\u00f3n con TCP. Es dif\u00edcil hablar de cifras aqu\u00ed. Es mejor leer <noindex><a rel=\"nofollow\" href=\"https:\/\/conferences.sigcomm.org\/imc\/2017\/papers\/imc17-final39.pdf\">la investigaci\u00f3n en s\u00ed<\/a><\/noindex> o <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.apnic.net\/2018\/01\/29\/measuring-quic-vs-tcp-mobile-desktop\/\">una publicaci\u00f3n breve<\/a><\/noindex>.<\/p>\n<p>Es importante mencionar que estos datos se refieren espec\u00edficamente a gQUIC y no son relevantes para el est\u00e1ndar en desarrollo. Lo que suceder\u00e1 con QUIC: por ahora es un misterio, pero hay esperanzas de que las debilidades identificadas en gQUIC sean tomadas en cuenta y corregidas.<\/p>\n<h2>Un poco de futurismo: \u00bfqu\u00e9 pasa con HTTP\/3?<\/h2>\n<p>\nAqu\u00ed todo est\u00e1 cristalino: la API no cambiar\u00e1 en absoluto. Todo permanecer\u00e1 exactamente como estaba en HTTP\/2. Si la API sigue siendo la misma, la transici\u00f3n a HTTP\/3 deber\u00e1 resolverse utilizando en el backend una versi\u00f3n reciente de la biblioteca que soporte el transporte por QUIC. Sin embargo, todav\u00eda tendremos que mantener compatibilidad con las versiones anteriores de HTTP, ya que Internet a\u00fan no est\u00e1 listo para una transici\u00f3n completa a UDP.<\/p>\n<h4>\u00bfQui\u00e9n ya lo soporta?<\/h4>\n<p>\nAqu\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/quicwg\/base-drafts\/wiki\/Implementations\">lista<\/a><\/noindex> implementaciones existentes de QUIC. A pesar de la falta de un est\u00e1ndar, la lista es bastante buena. <\/p>\n<p>Ning\u00fan navegador soporta actualmente QUIC en la versi\u00f3n de producci\u00f3n. Recientemente, hubo informaci\u00f3n de que Chrome activ\u00f3 el soporte para HTTP\/3, pero solo en Canary. <\/p>\n<p>De los backends, solo HTTP\/3 es soportado por <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/caddyserver\/caddy\">Caddy<\/a><\/noindex> y <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/http3-the-past-present-and-future\/\">Cloudflare<\/a><\/noindex>, aunque de manera experimental. NGINX a finales de la primavera de 2019 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.nginx.com\/blog\/nginx-1-16-1-17-released\/\">anunciaron<\/a><\/noindex>, que comenzaron a trabajar en el soporte de HTTP\/3, pero a\u00fan no han terminado.<\/p>\n<h4>\u00bfCu\u00e1les son los problemas?<\/h4>\n<p>\nVivimos en un mundo real donde ninguna gran tecnolog\u00eda puede llegar a las masas sin enfrentar resistencia, y QUIC no es la excepci\u00f3n.<\/p>\n<p>Lo m\u00e1s importante es que necesitamos explicar al navegador que \"https:\/\/\" ahora no necesariamente conduce al puerto 443 de TCP. Puede que no haya TCP en absoluto. Para esto se utiliza el encabezado Alt-Svc. Permite informar al navegador que este sitio web tambi\u00e9n est\u00e1 disponible en un protocolo espec\u00edfico en una direcci\u00f3n determinada. En teor\u00eda, esto deber\u00eda funcionar como la seda, pero en la pr\u00e1ctica nos encontraremos con que UDP puede estar, por ejemplo, bloqueado en el firewall para evitar ataques DDoS.<\/p>\n<p>Pero incluso si UDP no est\u00e1 bloqueado, el cliente puede estar detr\u00e1s de un router NAT, que est\u00e1 configurado para mantener la sesi\u00f3n TCP por direcci\u00f3n IP, y dado que usamos UDP, que no tiene sesi\u00f3n a nivel de hardware, el NAT no mantendr\u00e1 la conexi\u00f3n, y la sesi\u00f3n QUIC <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/the-road-to-quic\/\">se cortar\u00e1 constantemente.<\/a><\/noindex>. <\/p>\n<p>Todos estos problemas est\u00e1n relacionados con el hecho de que UDP no se hab\u00eda utilizado antes para la transmisi\u00f3n de contenido en Internet, y los fabricantes de hardware no pudieron prever que esto suceder\u00eda alg\u00fan d\u00eda. De la misma manera, los administradores todav\u00eda no comprenden bien c\u00f3mo configurar correctamente sus redes para trabajar con QUIC. Esta situaci\u00f3n cambiar\u00e1 poco a poco, y, en cualquier caso, tales cambios llevar\u00e1n menos tiempo que la implementaci\u00f3n de un nuevo protocolo de nivel de transporte. <\/p>\n<p>Adem\u00e1s, como ya se ha mencionado, QUIC aumenta considerablemente el uso de CPU. Daniel Stenberg <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=idViw4anA6E\">evalu\u00f3<\/a><\/noindex> el incremento en el uso de CPU hasta tres veces.<\/p>\n<h4>\u00bfCu\u00e1ndo llegar\u00e1 HTTP\/3?<\/h4>\n<p>\nEl est\u00e1ndar <noindex><a rel=\"nofollow\" href=\"https:\/\/datatracker.ietf.org\/wg\/quic\/about\/\">quieren adoptarlo.<\/a><\/noindex> Para mayo de 2020, sin embargo, dado que actualmente hay documentos que a\u00fan no est\u00e1n terminados, programados para julio de 2019, se puede decir que la fecha probablemente se aplazar\u00e1.<\/p>\n<p>Google ha estado utilizando su implementaci\u00f3n de gQUIC desde 2013. Si miramos la solicitud HTTP que se env\u00eda al motor de b\u00fasqueda de Google, podemos ver esto:<br \/>\n<img decoding=\"async\" alt=\"HTTP\/3: Destrucci\u00f3n de fundamentos y un mundo nuevo maravilloso\" src=\"\/wp-content\/uploads\/2019\/11\/af422268eb85b488c7be1b70c6d33fad.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Conclusiones<\/h2>\n<p>\nQUIC actualmente se presenta como una tecnolog\u00eda algo cruda pero muy prometedora. Dado que en los \u00faltimos 20 a\u00f1os todas las optimizaciones de los protocolos de nivel de transporte han estado principalmente centradas en TCP, QUIC, que en la mayor\u00eda de los casos supera en rendimiento, ya se ve bastante bien. <\/p>\n<p>Sin embargo, todav\u00eda hay problemas no resueltos que debemos enfrentar en los pr\u00f3ximos a\u00f1os. El proceso puede extenderse debido a que est\u00e1 involucrado hardware que nadie quiere actualizar, pero, sin embargo, todos los problemas parecen ser solucionables, y tarde o temprano todos tendremos HTTP\/3. <\/p>\n<p>\u00a1El futuro est\u00e1 cerca!<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/473930\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0414\u0440\u0443\u0433\u0438\u0435 \u0437\u043d\u0430\u044e\u0442, \u0447\u0442\u043e \u0433\u0434\u0435-\u0442\u043e \u043f\u043e\u0434 HTTP \u0435\u0441\u0442\u044c TLS, \u0430 \u043f\u043e\u0434 \u043d\u0438\u043c TCP, \u043f\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u043c IP \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0410 \u0442\u0440\u0435\u0442\u044c\u0438 \u2013 \u0435\u0440\u0435\u0442\u0438\u043a\u0438 \u2013 \u0441\u0447\u0438\u0442\u0430\u044e\u0442, \u0447\u0442\u043e TCP \u2013 \u044d\u0442\u043e \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0432\u0435\u043a, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52181","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47HTTP\/3: \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0438 \u0434\u0438\u0432\u043d\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u0440 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-11-01T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T10:59:51+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47HTTP\/3: destruyendo fundamentos y un nuevo mundo maravilloso | ProHoster","description":"Durante m\u00e1s de 20 a\u00f1os hemos estado viendo p\u00e1ginas web a trav\u00e9s del protocolo HTTP. La mayor\u00eda de los usuarios ni siquiera se pregunta qu\u00e9 es y c\u00f3mo funciona.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47HTTP\/3: \u0440\u0430\u0437\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043e\u0441\u043d\u043e\u0432 \u0438 \u0434\u0438\u0432\u043d\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u043c\u0438\u0440 | ProHoster","og:description":"\u0412\u043e\u0442 \u0443\u0436\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 20 \u043b\u0435\u0442 \u043c\u044b \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u0435\u0431-\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443 HTTP. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.","og:url":"https:\/\/prohoster.info\/es\/blog\/administrirovanie\/http-3-razrushenie-osnov-i-divnyj-novyj-mir","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-11-01T21:00:00+00:00","article:modified_time":"2020-02-18T10:59:51+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52181","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 02:46:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:48:31","updated":"2026-01-24 02:46:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/52181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=52181"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/52181\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=52181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=52181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=52181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}