HTTP (Protocolo de transferencia de hipertexto) es un protocolo de capa de aplicación que se utiliza para transmitir documentos de hipertexto. Al igual que MQTT, es un protocolo de comunicación basado en el protocolo TCP/IP. Se utiliza para navegadores web y servidores web. Diseñado para la comunicación entre.
Lectura rápida:
Características básicas del protocolo HTTP.
Contenidos clave del protocolo HTTP
La importancia de la evolución y el desarrollo de HTTP 3.0
②Compresión de encabezado: QPACK y HPACK
(1) Basado en el protocolo TCP, protocolo de capa de aplicación
(2) Transmitir contenido HTML, CSS y JavaScript
(3) Solicitud y respuesta
(4) Simple y extensible: semántica simple y contenido personalizable en el encabezado de la solicitud
(5) Sin estado: las solicitudes están aisladas entre sí
Modelo de solicitud-respuesta: HTTP es un protocolo basado en el modelo de solicitud-respuesta. El cliente realiza una solicitud HTTP, el servidor procesa la solicitud y devuelve una respuesta HTTP. Este modelo permite la comunicación entre clientes y servidores.
Sin estado: HTTP es un protocolo sin estado, es decir, cada solicitud y respuesta son independientes y el servidor no retiene información de solicitudes anteriores. Esto permite que las solicitudes HTTP sean independientes y escalables, pero también requiere el uso de mecanismos para mantener el estado de la sesión, como cookies o identificadores de sesión.
Métodos HTTP: las solicitudes HTTP utilizan diferentes métodos para especificar el tipo de operación.
Los métodos HTTP comunes incluyen:
GET: se utiliza para solicitar recursos.
POST: se utiliza para enviar datos, generalmente se usa para enviar formularios.
PUT: Se utiliza para cargar archivos o datos.
ELIMINAR: se utiliza para eliminar el recurso especificado.
HEAD: similar a GET, pero solo devuelve encabezados de respuesta, no datos reales.
OPCIONES: Consulta los métodos soportados por el servidor.
PATCH: utilizado para actualizaciones parciales de recursos.
URL: el localizador uniforme de recursos (URL) se utiliza para identificar recursos en la red. La URL incluye protocolo, nombre de host, puerto, ruta y parámetros de consulta.
Código de estado: las respuestas HTTP incluyen un código de estado que indica el resultado de la solicitud.
Los códigos de estado comunes incluyen:
200 OK: La solicitud fue exitosa.
404 No encontrado: no se encontró el recurso solicitado.
500 Error interno del servidor: Error interno del servidor.
301 Movido permanentemente: el recurso se mueve permanentemente a otra ubicación.
Formato de mensaje: las solicitudes y respuestas HTTP siguen un formato de mensaje específico. Las solicitudes HTTP generalmente incluyen líneas de solicitud, encabezados de solicitud y cuerpos de solicitud, mientras que las respuestas HTTP incluyen líneas de respuesta, encabezados de respuesta y cuerpos de respuesta.
Conexión persistente: para mejorar el rendimiento, HTTP/1.1 introdujo un mecanismo de conexión persistente (Keep-Alive), que permite que múltiples solicitudes y respuestas compartan una única conexión TCP, lo que reduce la sobrecarga de la conexión.
Seguridad: el protocolo HTTP en sí no proporciona cifrado de datos, por lo que la transmisión de datos generalmente no es segura. Para mejorar la seguridad, el protocolo HTTPS introduce un mecanismo de cifrado de datos y utiliza el protocolo SSL/TLS para proteger la transmisión de datos.
Cookies: las cookies son un mecanismo para pasar información de estado entre el cliente y el servidor, lo que permite al servidor rastrear el estado de la sesión del usuario. Las cookies suelen contener identificadores de sesión y otros datos para la autenticación del usuario y el mantenimiento del estado.
Proxies y almacenamiento en caché: HTTP permite que los servidores proxy y los servidores de caché transfieran y almacenen recursos entre clientes y servidores de origen para mejorar el rendimiento y reducir la carga del servidor.
El protocolo HTTP desempeña un papel vital en las aplicaciones de Internet: admite diversas operaciones, incluida la navegación web, la descarga de archivos, la carga de datos, la comunicación API, etc. Al mismo tiempo, la inseguridad de HTTP ha provocado la adopción de más medidas de seguridad, como SSL/TLS y OAuth, para proteger la privacidad y los datos del usuario.
Todas las versiones del protocolo HTTP hasta el momento se pueden dividir en HTTP 0.9, HTTP 1.0, HTTP 1.1, HTTP 2.0 y HTTP 3.0. Entre ellas, la versión HTTP 1.1 se usa comúnmente y también se está promocionando la versión HTTP 2.0. Como la futura versión HTTP 3.0, hoy, el principal Presenta estas tres versiones.
HTTP significa Protocolo de transferencia de hipertexto, un protocolo de aplicación utilizado para la comunicación a través de la World Wide Web desde su introducción en 1989. HTTP es un método utilizado por computadoras y servidores en Internet para solicitar y enviar información.
HTTP 1.1 es un protocolo estandarizado que elimina muchas ambigüedades e introduce muchas mejoras.
HTTP utiliza algunos métodos simples para enviar y recibir información entre computadoras. Los dos métodos más comunes son: obtener y publicar. Cuando una computadora cliente se comunica con un servidor, envía comandos para indicarle al servidor qué hacer a continuación. En respuesta, el servidor normalmente devuelve un recurso, como una página web HTML, a la computadora cliente.
HTTP 2.0 es la primera revisión importante del protocolo HTTP y reduce los retrasos en la carga de páginas web mediante la implementación de varias técnicas de optimización. HTTP 2.0 fue lanzado por el IETF (Internet Engineering Task Force) en mayo de 2015 y pretende convertirse en un método de comunicación estándar compatible con todos los navegadores web disponibles.
caracteristica principal:
(1) Las conexiones HTTP/2 son permanentes y solo requieren una conexión por fuente.
(2) Control de flujo: un mecanismo que evita que el remitente envíe grandes cantidades de datos al receptor (servidor).
(3) El servidor puede enviar información activamente.
Si bien HTTP 1.1 y HTTP 2.0 comparten semántica para facilitar la comunicación entre los dos protocolos, los métodos que utilizan para entregar datos pueden diferir significativamente.
Las principales diferencias entre HTTP 2.0 y HTTP 1.x son las siguientes:
(1) HTTP 2.0 codifica los mensajes de solicitud y respuesta como binarios en lugar de transmitir los mensajes de texto sin formato normales que se ven con HTTP 1.1.
(2) HTTP 2.0 es completamente multiplexado y concurrente, lo que significa que puede realizar muchas más solicitudes al sitio web en comparación con las solicitudes limitadas de HTTP 1.x.
(3) Utilice la prioridad de flujo de los activos del sitio web.
(4) La compresión del encabezado se utiliza para reducir la sobrecarga del procesamiento.
HTTP 3.0 es una nueva versión de HTTP basada en el protocolo de red QUIC lanzada en agosto de 2020. HTTP 3.0 es la tercera versión del Protocolo de transferencia de hipertexto (HTTP), anteriormente conocido como HTTP-over-QUIC. QUIC (Quick UDP Internet Connections) fue desarrollado originalmente por Google y es el sucesor de HTTP 2.0. Empresas como Google y Facebook ya utilizan QUIC para acelerar sus redes.
Como protocolo muy nuevo, HTTP 3.0 puede sufrir algunos cambios en los próximos años, pero su base seguirá firmemente basada en el protocolo QUIC.
QUIC (Quick UDP Internet Connection) es un nuevo protocolo de capa de transporte de red diseñado para reducir significativamente la latencia y aumentar la eficiencia en comparación con TCP. Básicamente, las conexiones se establecen más rápido, especialmente cuando las condiciones de la red no son óptimas. Dado que QUIC reduce los problemas de inicio lento de TCP, las velocidades de transmisión de video se pueden mejorar significativamente, especialmente en UHD y superiores. Además, HTTP/3 también puede proporcionar mejoras de velocidad por las mismas razones al moverse entre redes móviles y Wi-Fi.
HTTP 3.0 tiene varias diferencias significativas con los métodos tradicionales utilizados en HTTP 1.x y HTTP 2.0.
La diferencia más obvia entre HTTP 3.0 y las versiones anteriores (que solo usan TCP) es que HTTP 3.0 se basa completamente en QUIC, que utiliza UDP. UDP es un protocolo de transporte utilizado para comunicaciones rápidas a través del cual los datos pueden transmitirse incorrectamente. Esto se utiliza principalmente para la transmisión de video, donde la recepción de imágenes en vivo es fundamental y la corrupción de cuadros de video no es un problema importante.
Utilizando el nuevo protocolo QUIC, los servidores web ahora pueden enviar solicitudes/respuestas paralelas. Esto significa que si una solicitud o respuesta sufre una pérdida de paquetes, otras solicitudes o respuestas no se detendrán por esto.
②Compresión de encabezado: QPACK y HPACK
HTTP 3.0 utiliza QPACK, un formato comprimido utilizado para representar los encabezados HTTP utilizados en HTTP a través de QUIC.
Al igual que HTTP 2.0, este es un avance encabezado por Google. Pronto HTTP 3.0 volverá a aprovechar estos logros. Si bien HTTP 2.0 nos brinda multiplexación y alivia el bloqueo de cabecera de línea, está sujeto a las limitaciones de TCP. HTTP 3.0 se construye a través de QUIC basado en el protocolo UDP sin conexión, el concepto de conexión no tiene las limitaciones de TCP y la falla de una secuencia no tiene por qué afectar las secuencias restantes. Redefine los límites de la capa de red, se basa en el protocolo UDP de nivel inferior, redefine los protocolos de enlace, las funciones de confiabilidad y las funciones de seguridad en el "espacio de usuario", evitando la necesidad de actualizar el núcleo del sistema de Internet.
Lectura rápida:
Dónde es HTTP3.0 más fuerte que HTTP2.0?