Conceptos básicos de HTTP
El protocolo HTTP es un protocolo ampliable, es decir se puede añadir "vocabulario". HTTP está basado en unos pocos conceptos básicos como el concepto de recursos y URIs, una estructura sencilla de mensajes, y una arquitectura de cliente-servidor para ordenar el flujo de las comunicaciones. A demás de estos conceptos, a lo largo de su desarrollo han aparecido otros nuevos y se han añadido funcionalidades y reglas semánticas, creando nuevos métodos y cabeceras.
Artículos
- Generalidades del HTTP
-
Descripción de qué es el protocolo HTTP y su función en la arquitectura de la Web.
- Evolución del HTTP
-
HTTP fue creado a comienzos de la década de 1990s y ha sido ampliado con nuevas versiones varias veces. En este artículo se expone la evolución de su desarrollo y las versiones HTTP/0.9, HTTP/1.0, HTTP/1.1 y la última versión HTTP/2 así como detalles de las funciones que se han ido incluyendo.
- Negociación de la versión de HTTP
-
Se explica como un cliente y un servidor pueden negociar una versión específica de HTTP y eventualmente actualizar la version usada.
- Recursos y URIs
-
Una breve descripción sobre qué son los recursos, identificadores y localidades en la Web.
- Identificación de recursos en la Web
-
Descripción de como se referencian recursos en la Web, como son referenciados y como localizarlos.
- URIs de datos
-
Hay un tipo de URIs que permiten integrar directamente el recurso al que señalan. Los URIs de datos, son muy ventajosos, pero también tienen algunas desventajas.
- URLs de recursos
-
Los recursos URL, prefijados con
resource:
en vez dehttp
son usados por Firefox y algunas extensiones del navegador para cargar recursos internamente, pero parte de la información también está disponible para los sitios a los que se conecta el navegador. - Separación de la identidad y la localización de un recurso: la cabecera Alt-Svc
-
En la mayoría de los casos, la identidad y localización de un recurso Web, son compartidos, esto se puede modificar con la cabecera de HTTP:
Alt-Svc
. - Tipos MIME
-
Desde la versión HTTP/1.0, es posible trasmitir distintos formatos de recursos. En este artículo se explica como se hace, usando la cabecera:
Content-Type
, y el estándar MIME. - Elección de URLs: www y no-www
-
Recomendación sobre el uso de dominios con prefijo www o no. En este artículo se explican los resultados de la elección y cómo hacerla.
- Flujo de comunicación en una sesión HTTP
-
En este artículo se describe una comunicación típica de una sesión HTTP, y lo que sucede internamente cuando se hace click en un hiper-vínculo.
- Mensajes HTTP
-
Los mensajes HTTP, sean peticiones o respuestas, siguen una estructura muy concreta; en este artículo se describe su estructura, su propósito y posibilidades.
- Tramas y estructura de los mensajes en HTTP/2
-
La versión HTTP/2 encapsula y representa los mensajes de HTTP/1.x pero en tramas binarias. En este artículo se explica la estructura y los campos de las tramas, su finalidad y cómo se codifica.
- Proceso de conexión en HTTP/1.x
-
HTTP/1.1 fue la primera versión de HTTP que soportó las conexiones persistentes y el pipelining. En este artículo se explican estos dos conceptos.
- Proceso de conexión en HTTP/2
-
HTTP/2 revisó completamente, los métodos de negociación, creación y mantenimiento de conexiones: en este artículo se explica como se puede conseguír la multiplexación de las tramas y resolver el problema de 'head-of-line', que tenían las versiones anteriores de HTTP.
- Negociación de contenidos
-
HTTP presenta una serie de cabeceras que comienzan con
Accept-
como medio para notificar al navegador, el formato, lenguaje, o codificación que prefiere. En este artículo se explica el este proceso, como debe actuar el servidor, y como se elige la respuesta más apropiada.