Uso de Cookies en el Protocolo HTTP: Funcionamiento y Seguridad

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,01 KB

Cuerpo del Mensaje en Peticiones y Respuestas HTTP

El cuerpo del mensaje en una comunicación HTTP varía dependiendo de si se trata de una petición o una respuesta:

  • En las respuestas, contiene el recurso solicitado o un texto que explica un error.
  • En las peticiones, puede contener datos del usuario o archivos para subir al servidor.

Si hay un cuerpo en el mensaje, deben aparecer al menos las siguientes cabeceras:

  • Content-Type: Indica el tipo MIME de los datos (ej: text/html, image/png).
  • Content-Length: Especifica el número de bytes en el cuerpo del mensaje.

Cookies en el Protocolo HTTP

¿Qué son las Cookies?

Las cookies son piezas de información que el navegador guarda en la memoria o en el disco duro, dentro de archivos de texto, a solicitud del servidor.

  • Pueden incluir datos generados por el servidor o datos introducidos por el usuario en un formulario, que son enviados al servidor y reenviados por este al cliente.
  • HTTP es un protocolo sin estado, es decir, no almacena el estado de la sesión entre peticiones sucesivas. Las cookies se pueden usar para asociar un estado a la sesión.
  • Proporcionan una manera de conservar cierta información entre las peticiones del cliente.

Usos de las Cookies

Las cookies son una herramienta potente empleada por los servidores web para almacenar y recuperar información acerca de sus visitantes.

  • Almacenar información importante para el servidor.
  • Ejemplos de uso:
    • Guardar información de la sesión.
    • Comercio electrónico (carrito de la compra).
    • Personalización de páginas (idiomas).
    • Seguimiento de las visitas a un sitio web (carteles publicitarios).
    • Almacenamiento del login y password.

Almacenamiento de las Cookies

  • Al ser almacenadas en el lado del cliente, se libera al servidor de una carga importante.
  • El cliente devuelve la información al servidor en las siguientes peticiones.
  • Tipos de cookies:
    • Cookies de sesión: Se eliminan al cerrar el navegador.
    • Cookies persistentes: Son almacenadas en el disco por el propio navegador.

Envío de Cookies por el Servidor

El servidor utiliza la cabecera HTTP “Set-Cookie” para enviar una cookie al cliente.

  • Formato de la cabecera “Set-Cookie”:
    • “nombre=valor”: Nombre y valor de la cookie.
    • “;expires=fecha”: Fecha de caducidad.
    • “;path=camino”: Camino para el que la cookie es válida.
    • “;domain=dominio”: Dominio para el que la cookie es válida.
    • “;secure”: Indica que la cookie solo se transmite sobre canales seguros (HTTPS).
  • Ejemplo:

    Set-Cookie: unnombre=unvalor; expires=Mon, 30-Jan-2001 12:35:23 GMT; path=/dir; domain=mi.dominio.com; secure

Información Incluida en la Cookie Enviada por el Servidor

  • Nombre y Valor de la cookie.
  • Fecha de caducidad: El navegador conservará y recuperará la cookie solo si su fecha de caducidad no ha expirado. Si no se especifica, la cookie caduca al finalizar la sesión.
  • Camino de las aplicaciones con acceso a la cookie. Si no se especifica, se toma como camino el directorio de la aplicación que originó la cookie.
  • Dominio (completo o parcial) de los servidores con acceso a la cookie. Si no se especifica ningún dominio, el navegador solo devolverá la cookie a la máquina que la originó.
  • Atributo secure: indica que la cookie solo será transmitida a través de un canal seguro, con SSL.

Envío de Cookies por el Cliente

El cliente utiliza la cabecera HTTP “Cookie” para enviar cookies al servidor.

  • Se envían todas las cookies en una única cabecera HTTP:

    Cookie: nombre1=valor1; nombre2=valor2; ...

  • Proceso:
    1. Cuando un cliente solicita una URL, buscará en su lista de cookies aquellas que coincidan con ese dominio y camino.
    2. Dentro de la cabecera “Cookie”, las cookies se ordenan de más a menos específica (según el camino).
    3. No se consideran las cookies caducadas (de hecho, se eliminan).

Limitaciones de las Cookies

Debido a su diseño, las cookies tienen las siguientes limitaciones (cada navegador puede tener otras adicionales):

  • Máximo de 300 cookies en el disco. Si se llega a la número 301, se borra la más antigua.
  • Tamaño máximo de 4 Kbytes por cookie (nombre y valor).
  • Máximo de 20 cookies por servidor o dominio.
  • Ninguna máquina que no encaje en el dominio de la cookie podrá acceder a ella.

Entradas relacionadas: