Desarrollo Web

Cookies: ¿Cómo funcionan?

Contenido

¿Cómo funcionan las cookies?:

Presentación

Vídeo

Si no puedes ver el vídeo, prueba con alguno de los siguientes enlaces:

Transcripción

Hola, soy Sergio Luján Mora, profesor de la Universidad de Alicante, y en este videotutorial vamos a ver cómo funcionan las cookies.

En primer lugar, recordemos que las cookies son sólo datos que recibe un navegador web junto con una página y que se almacenan en el ordenador del usuario. La información se almacena en el ordenador del usuario a petición del servidor web, directamente desde la propia página web con JavaScript. Como veremos en otro videotutorial, en JavaScript el manejo de cookies se realiza a través de la propiedad cookie del objeto document. También se puede almacenar desde el servidor web mediante las cabeceras HTTP. Como veremos en otro videotutorial, en el caso de PHP el manejo de cookies se realiza con el método setcookie() y la variable superglobal Array.

La especificación original de las cookies fue realizada por Netscape en el año 1994, y hoy en día aún se puede encontrar este documento en la Web.

La última especificación de las cookies la encontramos en el documento Request For Comments 6265 HTTP State Management Mechanism de abril de 2011. Según la última especificación, una cookie se compone de los siguientes atributos: una pareja nombre/valor, que es la información de la cookie; un dominio, que indica en qué dominio se puede utilizar la cookie; una ruta, que limita el uso de la cookie a páginas que se encuentren en dicha ruta; una fecha de caducidad o máxima edad, que indica hasta cuándo la cookie es válida; una marca de sólo conexión segura, que obliga a enviar la cookie mediante un protocolo de encriptación; y una marca de sólo HTTP, para limitar el uso de la cookie al protocolo HTTP.

Veamos, con un ejemplo, cómo se envían las cookies mediante el protocolo HTTP entre el cliente y el servidor. En primer lugar, cuando un usuario quiere visitar una página web, como por ejemplo www.ua.es, el navegador se conecta al servidor web y le envía una petición HTTP similar a esta.

A continuación, el servidor web responde al navegador enviando una respuesta HTTP, que contiene la página solicitada y una serie de líneas pidiendo al navegador que almacene dos cookies.

A continuación, cuando el usuario vuelve a visitar una página del mismo sitio web, la petición que envía el navegador web al servidor web incluirá las cookies que se hayan almacenado previamente. El navegador únicamente envía la pareja nombre=valor, el resto de atributos de la cookie no se envían.

Al recibir la petición, el servidor web podrá leer las cookies y las podrá utilizar para crear la siguiente respuesta.

Antes hemos visto los atributos que componen una cookie, veamos ahora cómo se representan en un mensaje HTTP.

Aquí tenemos otro ejemplo de la directiva HTTP Set-Cookie, que le dice al navegador web que almacene esta cookie. Vamos a ver esta directiva más grande y con más detalle. En primer lugar, tenemos la pareja "nombre=valor". A continuación, el atributo "Domain" indica que esta cookie sólo se puede utilizar en el dominio indicado. El atributo "Path" limita el uso de esta cookie a páginas que se encuentren dentro del directorio o ruta "/privado". El atributo "Expires" indica que esta cookie caducará el 13 de enero del año 2021. El atributo "Secure" indica que esta cookie sólo se tiene que enviar a través de una comunicación segura y encriptada, como puede ser HTTPS. Por último, el atributo "HttpOnly" indica que esta cookie sólo es accesible a través del protocolo HTTP, y no a través de otros métodos como puede ser JavaScript. Podemos ver que los dos últimos atributos, "Secure" y "HttpOnly", no llevan valores.

Hoy en día, aunque no nos demos cuenta, la mayoría de los sitios web emplean cookies que almacenan todo tipo de información en nuestros ordenadores.

Los navegadores modernos permiten visualizar las cookies que se emplean en un sitio web y, si se quiere, también permiten borrarlas. Por ejemplo, el buscador Google emplea algunas cookies para almacenar información sobre las búsquedas que hemos realizado y para almacenar las preferencias del usuario sobre el idioma de búsqueda o el número de resultados a mostrar.

Para ver las cookies que se emplean en la página de Google, en Mozilla Firefox seleccionamos el menú "Herramientas" y a continuación "Información de la página". En la ventana que aparece nos vamos a la pestaña "Seguridad" y a continuación pulsamos en el botón "Ver cookies". Para cada cookie que se almacena podemos consultar sus atributos, como dominio, ruta y fecha de caducidad, que en este programa se llama expira.

En Internet Explorer 9, se pueden ver las cookies de una página web a través de las "Herramientas de desarrollo" que se encuentran en el menú "Herramientas". En concreto, a través del menú "Caché" y la opción "Ver información de cookies", que nos muestra la siguiente página donde podemos ver el nombre de la cookie, su valor, el dominio, y la ruta donde se pueden emplear y la fecha de caducidad.

En el navegador Google Chrome, a través del menú "Herramientas para desarrolladores", se visualiza una barra de herramientas en la que seleccionamos el menú "Resources" y a continuación seleccionamos "Cookies" y el dominio del cual queremos ver las cookies. Finalmente, en el navegador Opera, seleccionamos el menú "Herramientas", a continuación "Avanzado" y por último "Cookies". Y se muestra una ventana donde podemos consultar todas las cookies que se almacenan en nuestro ordenador.

Hay que aclarar que cada navegador maneja su propio conjunto de cookies, que son independientes entre sí. En los navegadores más populares las cookies se pueden desactivar, por ejemplo, en Mozilla Firefox lo podemos hacer a través del menú "Herramientas", "Opciones". En Internet Explorer se puede hacer a través del menú "Herramientas", "Opciones de Internet" y la pestaña "Privacidad".

En Google Chrome tenemos que emplear el menú "Opciones", "Avanzada" y "Configuración de contenido".

Y en Opera las cookies se pueden desactivar a través del menú "Herramientas", "Preferencias" y la pestaña "Avanzado".

Por último, los navegadores también proporcionan una serie de métodos para borrar el historial de exploración y entre las opciones que ofrecen se puede seleccionar borrar o no borrar las cookies, por si por ejemplo utilizamos un ordenador en un lugar público como puede ser un cibercafé, donde no interesa que permanezcan nuestras cookies después de abandonar el ordenador.

Y con esto finaliza este videotutorial que ha explicado cómo funcionan las cookies. En el próximo videotutorial veremos cómo se utilizan las cookies con JavaScript.

Si necesitas más información o quieres contactar conmigo, en mis páginas web http://accesibilidadweb.dlsi.ua.es/ y en http://desarrolloweb.dlsi.ua.es/ podrás encontrar más información sobre la accesibilidad web y el desarrollo web o también puedes contactar directamente conmigo a través de mi dirección de correo electrónico sergio[punto]lujan[arroba]ua[punto]es.