El acrónimo http responde a las siglas en inglés de Hypertext Transfer Protocol, cuyo significado técnico se traduce al español directamente como el protocolo de transferencia de hipertexto.

En términos prácticos y sencillos, se trata de la estructura de comunicación fundamental y estandarizada que sirve de conducto exclusivo para el intercambio de informaciones digitales entre el cliente (como su navegador de internet preferido) y un servidor de almacenamiento web remoto.
Este célebre protocolo de transferencia de hipertexto fue ideado conceptualmente junto con el lenguaje HTML con la finalidad principal de crear el primer navegador web interactivo basado en texto, un hito histórico de la informática global conocido originalmente bajo el nombre de la red World Wide Web original.
En plena era contemporánea de la conectividad, el ecosistema digital sigue dependiendo de este pilar tecnológico. El canal de comunicación estructurado bajo el protocolo http se mantiene firmemente erigido como uno de los principales medios para utilizar internet, del cual los usuarios de la red no pueden prescindir. En consecuencia, hoy en día es absolutamente impensable concebir la navegación diaria sin su constante intervención automatizada en segundo plano.
Si usted es un usuario de internet, debe absolutamente prestar atención a este artículo técnico especializado, donde se desglosará minuciosamente todo lo que requiere saber acerca del funcionamiento elemental, las ventajas operativas y las características de http.
Capítulo 1: que es http y qué significa este protocolo esencial ?
Dado que el protocolo HTTP es uno de los elementos fundamentales de internet, vamos a hablar juntos en este capítulo de todo lo que usted debe comprender sobre este protocolo para asimilar plenamente que es http y de qué manera dictamina la estructura de la información digital contemporánea.
1.1. Definición formal, evolución e histórico cronológico
El protocolo de transferencia de hipertexto constituye una técnica de codificación y de conducción de informaciones entre un navegador web y un servidor web. HTTP es el principal protocolo de transmisión de información en internet.
El protocolo http ha evolucionado considerablemente desde sus inicios a finales de la década de 1980. Cada nueva versión ha aportado mejoras significativas en términos de rendimiento, seguridad y funcionalidades. A continuación, se detalla formalmente este recorrido técnico estructurado en su estricto orden histórico de aparición:
- HTTP/0.9 (1991): La versión de origen La primera versión del protocolo HTTP era extremadamente rudimentaria. Ella no permitía más que la transferencia de archivos HTML simples y no soportaba ninguna cabecera ni ningún código de estado. Estaba diseñada únicamente para responder a necesidades muy básicas de intercambio de informaciones entre investigadores.
- HTTP/1.0 (1996): La primera versión real HTTP/1.0 introdujo varias mejoras mayores con respecto a la versión original, notablemente las cabeceras HTTP, los códigos de estado de respuesta, y la gestión de diferentes tipos de contenido más allá del simple HTML (como imágenes, vídeos y archivos de audio). Sin embargo, cada solicitud requería la apertura de una nueva conexión TCP, lo cual era particularmente ineficiente.
- HTTP/1.1 (1997): La versión dominante durante décadas HTTP/1.1 resolvió varias limitaciones importantes de la versión anterior, notablemente al introducir las conexiones persistentes (que permiten reutilizar una misma conexión TCP para varias solicitudes) y el pipelining (que permite enviar varias solicitudes sin esperar las respuestas). Esta versión ha permanecido como la más utilizada durante más de 15 años.
- HTTP/2 (2015): La revolución de las prestaciones HTTP/2 representó una evolución mayor del protocolo. Introdujo notablemente la multiplexación (que permite enviar varias solicitudes simultáneamente sobre una sola conexión), la compresión de cabeceras y el Server Push (mecanismo que permite al servidor enviar recursos al navegador antes incluso de que estos sean solicitados de forma manual).
- HTTP/3 (2022): El protocolo del futuro La versión más reciente del protocolo HTTP abandona TCP en favor de un nuevo protocolo de transporte llamado QUIC, basado en UDP. HTTP/3 mejora todavía más las prestaciones, notablemente sobre las conexiones inestables o con una latencia elevada, como las redes móviles. Es la versión que propulsa a internet hacia una nueva era de rapidez y de fiabilidad.
1.2. El funcionamiento del protocolo http
Todas las veces que un usuario efectúa una demanda en internet, se sirve sin duda alguna del protocolo http. No solamente para enviar su demanda al servidor que aloja la página solicitada, sino también para recibir los datos en respuesta desde el servidor web.

https://www.twaino.com/wp-content/uploads/2020/09/2-L-hebergement-est-fourni-par-un-hebergeur-1.jpg
Esto implica una inevitable presencia del protocolo http a la vez en la capa de aplicación del cliente y en la del servidor, de lo contrario la comunicación no puede tener lugar en absoluto.
La demanda del cliente se efectúa vía el navegador, el cual gestiona el conjunto de la comunicación y devuelve los recursos solicitados por el usuario a la pantalla. El navegador ve una página web como un conjunto de objetos ligados entre ellos por hipervínculos. Así, una página web estará seguramente compuesta de un cuerpo HTML y de otros recursos que podrían ser scripts, imágenes, applets de Java, entre otros elementos periféricos indispensables.
HTTP se apoya en el protocolo TCP de la capa de transporte para asegurar la transferencia de los datos desde el servidor hacia el cliente. La principal razón de la utilización del protocolo TCP por parte del HTTP se puede explicar por la transferencia de los datos fiable que esto garantiza, al contrario que el protocolo de transferencia UDP.

Fuente: 3.ntu.edu.sg
Aunque la utilización de TCP presenta una gran ventaja de transferencia fiable de los datos, esto implica igualmente un tiempo de espera más largo para recibir el recurso solicitado. Esto puede ocurrir solamente porque, antes de transmitir los datos, TCP debe establecer una conexión en una operación que se llama Handshake o saludo de tres vías.
Un transferencia de datos fiable es esencial para HTTP, ya que si todo el cuerpo HTML de una página web no fuera transferido hacia el navegador debido a un error de transmisión, la página solicitada sería imposible de mostrar o su contenido se vería totalmente alterado en la pantalla del usuario.
1.3. El propósito del protocolo http
Cuando se habla del protocolo de transferencia de hipertexto, se hace referencia inmediata al papel de HTTP en la transmisión de datos de sitios web en internet. En cuanto al hipertexto, alude a la forma estándar de las páginas web a través de la cual una sección puede redirigir a los usuarios hacia otra página mediante hipervínculos cliqueables, generalmente llamados simplemente enlaces.El propósito del protocolo http es proporcionar un medio estándar para que los navegadores web y los servidores se comuniquen entre sí.

https://www.twaino.com/wp-content/uploads/2020/09/17-l-echange-de-donnee.jpg
Las páginas web se diseñan utilizando el lenguaje de marcado de hipertexto, o HTML, pero el protocolo http se utiliza hoy en día para transferir mucho más que simplemente HTML y las hojas de estilo en cascada, o CSS, que sirven para indicar cómo deben mostrarse las páginas. HTTP también se utiliza para transferir otros contenidos en los sitios web, incluyendo imágenes, archivos de vídeo y audio.
Los ordenadores pueden conectarse a los servidores web utilizando HTTP simplemente para solicitar los archivos de direcciones web particulares. Cuando un ordenador recupera datos, envía generalmente un mensaje HTTP llamado petición GET, y cuando envía datos de un formulario o sube un archivo, utiliza otros formatos de mensajes llamados peticiones PUT o POST. Es posible ver los mensajes que su navegador web envía en muchos navegadores a través de las herramientas de desarrollo integradas.
Hoy en día, HTTP es utilizado por muchas aplicaciones distintas de los navegadores web para enviar mensajes a los servidores. Las personas que crean aplicaciones eligen voluntariamente el protocolo de transferencia de hipertexto porque es ampliamente comprendido por muchos desarrolladores. Otra razón es que HTTP generalmente no es filtrado por los cortafuegos de red diseñados para permitir el tráfico web, lo que significa que los mensajes HTTP pueden pasar sin problemas en la mayoría de las redes domésticas y profesionales.
1.4. Las ventajas del protocolo http
La primera cosa que debe saber es que HTTP utiliza un esquema de direccionamiento avanzado. Asigna una dirección IP con nombres reconocibles para que se pueda localizar fácilmente en la World Wide Web. En comparación con el procedimiento estándar de dirección IP con una serie de números, al utilizar esto, el público puede interactuar fácilmente con internet.
Cada vez que una aplicación necesita capacidades adicionales, HTTP puede otorgarle un plus de funcionalidades al descargar extensiones o complementos para mostrar los datos pertinentes. Con el protocolo http, cada archivo se descarga a partir de una conexión independiente y luego se cierra. Por esta razón, no se transfiere más de un elemento de una página web a la vez. Por lo tanto, el riesgo de interceptación durante la transmisión es bajo.
Además, cuando la página se carga por primera vez, todas las páginas HTTP se almacenan en las memorias caché de internet llamadas caché de página.

Fuente : blog.alwaysdata
Por lo tanto, una vez que la página es visitada de nuevo, el contenido se cargará más rápidamente.
1.5. Los inconvenientes del protocolo http
Dado que el protocolo HTTP no se ejecuta a base del cifrado de datos, es muy posible que su contenido sea modificado por alguien más. Esta es la razón por la cual http:// es considerado como un método no seguro y que afecta a la integridad de los datos. Esto hace que los datos sean vulnerables a los ataques.La confidencialidad es otro problema encontrado en una conexión HTTP. Si un atacante logra interceptar la solicitud, puede visualizar todo el contenido presente en la página web. Además, también pueden recopilar muy fácilmente informaciones confidenciales tales como el nombre de usuario y la contraseña. Aquí es donde radica la diferencia entre http y https, ya que este último protege estos flujos.

Fuente: nsi-ljm.fr
Por otra parte, incluso si HTTP recibe todos los datos que necesita, los clientes no toman ninguna medida para cerrar la conexión. Por lo tanto, durante este periodo, el servidor no estará disponible. Además, dado que HTTP debe crear múltiples conexiones para transmitir una página web, esto provoca una sobrecarga administrativa en la conexión.
Capítulo 2: ¿Qué es un código de estado HTTP?
Puede ocurrir que el cliente lance solicitudes al servidor y, en respuesta, el servidor responda con códigos de estado y cargas útiles de mensaje. El código de estado es importante e indica al cliente cómo interpretar la respuesta del servidor. La especificación del protocolo http define ciertas franjas de números para tipos específicos de respuestas:
1xx: Mensajes informativos
Todos los clientes HTTP/1.1 deben aceptar la cabecera Transfer-Encoding. Esta clase de códigos fue introducida en HTTP/1.1 y es puramente provisional. El servidor puede enviar un mensaje Expect: 100-continue, diciéndole al cliente que continúe enviando el resto de la solicitud, o ignorarlo si ya la ha enviado. Se espera que los clientes HTTP/1.0 ignoren esta cabecera.
2xx: Exitoso
Esto indica que la solicitud del cliente ha sido procesada correctamente. Muy a menudo verá mostrado el código 200. Para una solicitud GET, el servidor envía los datos en el mensaje. Existen otros códigos menos frecuentemente utilizados:
- 202 Aceptado: La solicitud ha sido aceptada, pero puede no incluir el recurso en la respuesta. Esto es útil para el procesamiento asíncrono en el lado del servidor. El servidor puede elegir enviar información para la supervisión.
- 205 Restablecer contenido: Indica al cliente que restablezca su vista del documento.
- 206 Contenido parcial: Indica que la respuesta solo contiene un contenido parcial. Cabeceras adicionales indican la franja exacta y la información de expiración del contenido.
3xx: Redirección
- 303 Ver otro: El recurso está temporalmente localizado en una nueva URL.
- 304 No modificado: El servidor ha determinado que el recurso no ha cambiado y el cliente debe utilizar su copia almacenada en caché. Esto se basa en el hecho de que el cliente envía información ETag (Entity Tag), que es un hash del contenido. El servidor compara esto con su propio cálculo ETag para verificar las modificaciones.
4xx: Error del cliente
Estos códigos se utilizan cuando el servidor piensa que el cliente tiene la culpa, ya sea por solicitar un recurso inválido o por hacer una mala solicitud. El código más popular de esta clase es el 404 Not Found (No encontrado), con el que creo que todo el mundo se identifica. El 404 indica que el recurso no es válido y no existe en el servidor. Esto obliga al cliente a tomar medidas adicionales; a menudo, se ve obligado a acceder a una URL diferente para recuperar el recurso. Los otros códigos de esta clase comprenden:
- 400 Mala solicitud (Bad Request): La solicitud está mal formada.
- 403 Prohibido: El servidor ha rechazado el acceso al recurso.
- El código 404 indica que el recurso no es válido y no existe en el servidor. Esto obliga al cliente a tomar medidas adicionales. A menudo, se ve obligado a acceder a una URL diferente para recuperar el recurso.
- 405 Método no permitido: Se ha utilizado un verbo HTTP no válido en la línea de solicitud, o el servidor no admite ese verbo.
- 409 Conflicto: El servidor no ha podido completar la solicitud porque el cliente intenta modificar un recurso más reciente que la marca de tiempo del cliente. Los conflictos surgen principalmente para las demandas PUT durante las modificaciones colaborativas en un recurso.
5xx: Error de servidor
Esta clase de códigos se utiliza para indicar un fallo del servidor durante el procesamiento de la solicitud. El código de error más comúnmente utilizado es 500 Internal Server Error. Los otros de esta clase son:
- 501 No implementado: El servidor aún no es compatible con la funcionalidad solicitada.
- 503 Servicio no disponible: Esto puede ocurrir si un sistema interno en el servidor está caído o si el servidor está sobrecargado. Por regla general, el servidor ni siquiera responde y la solicitud expira.
Conclusión
El protocolo http es, desde su primera versión hasta la más reciente, el principal protocolo de transmisión de datos en internet. Es un medio inevitable que toma cualquier usuario de internet para tener una respuesta a su solicitud.
Es entonces una necesidad para toda persona que utiliza la red conocer bien los aspectos esenciales sobre el protocolo http. Para ello, hemos abordado los puntos que pueden parecerle complejos sobre este concepto, marcando también el camino hacia la navegación segura para entender el escenario de http vs https y la importancia de migrar hacia direcciones con https //.
Espero que este artículo le haya sido útil; no dude en dejarme comentarios si tiene alguna pregunta.

