Este artículo lo llevará desde la comprensión hasta la creación de servicios web HTTP/3.

NGINX evoluciona hacia la nube nativa, todo en OpenNJet

HTTP es una columna vertebral importante de Internet y, en términos sencillos, permite a los usuarios cargar sitios web. Después de años de desarrollo, HTTP ha evolucionado de HTTP/1.0 a HTTP/1.1, HTTP/2 y ahora HTTP/3. Con cada iteración, se agregarán nuevas funciones para satisfacer las necesidades contemporáneas, como seguridad, procesamiento de sesiones y aplicaciones. Requisitos de la capa de programa.

De HTTP/1.0 a HTTP/2, el protocolo HTTP se ha actualizado tres veces, pero el HTTP fluido y el TCP blindado se deben a que el protocolo TCP es más confiable. Sin embargo, poco después del lanzamiento de HTTP/2, las empresas han comenzó a desarrollar vigorosamente HTTP/3. A medida que el tráfico de Internet continúa creciendo y los requisitos de las aplicaciones continúan aumentando, las deficiencias de HTTP/2 se vuelven cada vez más obvias.
 
Primero, la versión final de HTTP/2 no incluía muchas de las mejoras que la gente esperaba realizar sobre HTTP/1.1. Para mantener la compatibilidad con versiones anteriores de HTTP/1.1, el protocolo debe conservar las mismas POST solicitudes GET , códigos de estado (200, 301, 404 y 500), etc.
 
Además, algunas funciones implementadas introducen problemas de seguridad. Además de la falta heredada de cifrado obligatorio, también se incluyen cookies y encabezados de página comprimidos vulnerables.
El objetivo de HTTP/3 es proporcionar conexiones web rápidas, confiables y seguras en todo tipo de dispositivos resolviendo los problemas relacionados con la transmisión de HTTP/2. Para hacer esto, utiliza un nuevo protocolo de red de capa de transporte llamado QUIC, que se ejecuta en el Protocolo de datagramas de usuario (UDP) en lugar del TCP utilizado por versiones anteriores de HTTP.

¿Por qué es importante HTTP/3?

La ventaja de la funcionalidad HTTP/3 proviene del protocolo QUIC subyacente. QUIC (Conexión rápida a Internet UDP) es un nuevo método de transmisión que reduce la latencia en comparación con TCP. A primera vista, QUIC es muy similar a TCP + TLS + HTTP/2 implementado sobre UDP. Dado que TCP se implementa en el kernel del sistema operativo y en el firmware del dispositivo intermedio, es casi imposible realizar cambios significativos en TCP. Sin embargo, dado que QUIC está construido sobre UDP, no tiene tales limitaciones.
Las principales mejoras de funciones de QUIC con respecto a TCP + TLS + HTTP2 existentes incluyen
  • Usando TLSv1.3, acortando significativamente el tiempo de establecimiento de la conexión
  • Mejorar el control de la congestión
  • Multiplexación para resolver el bloqueo de cabecera de línea
  • corrección de errores hacia adelante
  • Migración de conexión
TCP debe tener limitaciones:
  • Su transferencia de datos puede bloquearse intermitentemente;
  • No se admite la multiplexación a nivel de transmisión;
  • Conduce a comunicaciones redundantes;
El protocolo QUIC aborda estas limitaciones de TCP introduciendo algunos cambios en el mecanismo de transporte subyacente.
 
TCP ha demostrado ser un protocolo de transporte muy potente que respalda el crecimiento del tráfico de Internet. Sin embargo, por diseño, TCP nunca fue adecuado para manejar la transmisión de datos a través de medios inalámbricos con pérdidas. En los primeros días de Internet, las conexiones por cable eran las únicas conexiones que existían y conectaban todas las computadoras conectadas a Internet, por lo que esto nunca fue un problema.
 
Actualmente hay más teléfonos inteligentes y dispositivos portátiles que computadoras de escritorio y portátiles, y más del 50% del tráfico de Internet se transmite de forma inalámbrica. Con este crecimiento, la experiencia general de navegación web se ha deteriorado a medida que aumentan los tiempos de respuesta. Varios factores contribuyen a esta situación, el más importante de los cuales es el bloqueo de la cabecera de línea cuando la cobertura inalámbrica es insuficiente.
Google utiliza QUIC como protocolo de transporte subyacente para algunos servicios populares de Google, lo que mejora enormemente la velocidad de respuesta y la experiencia del usuario. Al implementar QUIC como protocolo de transporte subyacente para la transmisión de videos de YouTube, Google informa una caída del 30% en las tasas de almacenamiento en búfer, lo que tiene un impacto directo en la experiencia de visualización de videos.

Mejores casos de uso para HTTP/3

El propósito de HTTP/3 es mejorar la experiencia general de la red, especialmente en áreas donde el acceso inalámbrico a Internet de alta velocidad aún no está disponible. Si bien HTTP/2 es adecuado para algunas de estas aplicaciones, HTTP/3 agrega valor en los siguientes escenarios.

Internet de las cosas (IoT)

 
Puede que HTTP no sea el protocolo elegido para IoT, pero existen aplicaciones que se adaptan bien a las comunicaciones basadas en HTTP. Por ejemplo, HTTP/3 puede resolver el problema de las conexiones inalámbricas con pérdida para dispositivos móviles que recopilan datos de sensores conectados. Esto también se aplica a los dispositivos IoT independientes instalados en vehículos o activos móviles. Dado que HTTP/3 tiene una capa de transporte sólida, acceder a dichos dispositivos a través de HTTP es más confiable.

Ofertas de anuncios en tiempo real

Las ofertas se producen en tiempo real cuando se muestra un anuncio en un navegador web. La información de la página y del usuario se envía a los intercambios de anuncios, que luego los subastan al mejor postor. Todas las empresas que pueden anunciarse ante los consumidores apuestan por ser las que den esa impresión. Se trata de una competencia algorítmica por el espacio proporcionado por las redes de publicación de anuncios.
Tener una conexión que solo requiere una confirmación (un apretón de manos) puede mejorar en gran medida el rendimiento de las ofertas y permitir que las ofertas se carguen más rápido, lo que garantiza que la carga de las páginas no se retrase por esta serie de competencia; una carga de anuncios más rápida requiere una carga de páginas más rápida.

microservicios

En una malla de microservicios, se pierde mucho tiempo explorando todos los microservicios para obtener datos. HTTP es siempre el salto más lento. Por lo tanto, cuanto más rápido se realice cada solicitud entre cada sistema (medido en milésimas de segundo en lugar de centésimas de segundo), mejor será el aislamiento de los datos y menos datos se replicarán en la red.
 
La ventaja del protocolo QUIC es que la cantidad de apretones de manos es relativamente pequeña, por lo que puede entregar estas solicitudes en un solo dígito de milisegundos y sus microservicios pueden ser más puros, lo que permite una verdadera responsabilidad única. El beneficio de usar HTTP/3 aquí proviene más de la velocidad de completar cada microinteracción y menos del alto rendimiento al acceder a big data.

Cómo construir un servicio web HTTP/3 basado en OpenNJet

para probar la velocidad de su sitio web y la velocidad de su conexión a Internet

La herramienta de prueba HTTP/3 en CentOS 7 se puede descargar desde Gitee
Para conocer procedimientos de operación específicos, consulte  el artículo explicativo https://njet.org.cn/cases/http3_support/

Utilice herramientas de terceros

Actualmente, las últimas versiones de los navegadores Firefox y Chrome ya son compatibles con el protocolo QUIC. Puede consultar los documentos correspondientes para habilitar la compatibilidad con el protocolo QUIC. Durante la prueba, al conectarse por primera vez, el protocolo utilizado puede ser HTTP1 o HTTP2, en este momento puede actualizarlo varias veces y verá que la transmisión de la página web se completa utilizando el protocolo HTTP3. Alternativamente, puede utilizar  https://http3check.net/  para probar su implementación.
 
HTTP/3 proporciona a las aplicaciones web más beneficios que HTTP/2, especialmente en términos de rendimiento, seguridad y compatibilidad. Ya es muy utilizado por grandes empresas tecnológicas como Google, Meta, Microsoft, Akamai, Cloudflare, Fastly, NGINX y Ericsson.
 
¡HTTP/3 realmente está aquí!
 

OpenNJet   se basó por primera vez en la bifurcación básica de NGINX1.19 y evolucionó de forma independiente. OpenNJet tiene las características de alto rendimiento, estabilidad y fácil expansión. También resuelve los problemas de larga data de NGINX, como la dificultad en la configuración dinámica y las funciones de administración que afectan negocio. Como motor subyacente, OpenNJet utiliza el mecanismo de carga dinámica para implementar diferentes formas de productos, como puerta de enlace API, proxy de mensajes, proxy entrante y saliente, equilibrio de carga, WAF, etc. En la arquitectura nativa de la nube, OpenNJet no solo proporciona funciones de puerta de enlace de comunicación norte-sur, sino que también proporciona nuevas características como comunicación este-oeste en la red de servicios, secuestro de tráfico transparente, disyuntor, telemetría e inyección de fallas.

    El grupo de correo
Gitee lo invita a abrir código y construir juntos: https://njet.org.cn/

Multado con 200 yuanes y confiscado más de 1 millón El servidor de migración de núcleo duro de Musk El control de congestión TCP salvó Internet Apache OpenOffice es un proyecto "sin mantenimiento" de facto Google celebra su 25 aniversario Raspberry Pi 5 se lanzará a finales de octubre, a partir de $ 60 Microsoft abre los controladores de Windows de código abierto y usa Rust para desarrollar controladores de Windows. Contenedores macOS: use Docker para ejecutar imágenes de macOS en macOS. 7 hábitos de los ingenieros de software de alto rendimiento. Se necesitaron dos años para gastar $ 15,000. ¿Cómo puede Chrome? ¿Las extensiones generan dinero?
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/6606114/blog/10112475
Recomendado
Clasificación