Cookies
De TW
- Este artículo ha sido reformateado automáticamente desde http://www.tejedoresdelweb.com/307/article-1065.html y su formato necesita ser revisado
- Este artículo es bastante antiguo. Su contenido posiblemente está obsoleto y necesita ser actualizado.
Un elemento que usualmente se extraña en el lenguaje JavaScript es la posibilidad de realizar ciertas acciones que trasciendan y perduren para otras sesiones de conección a un servidor Web.
Actualmente, existe una posibilidad de guardar información, en el lado del cliente, mediante el sistema de cookies.
Tabla de contenidos |
¿Qué son las cookies ?
Una cookie es una estructura:
Nombre - Contiene un identificador único de la cookie, actualmente puede ser prácticamente cuaalquier string dado que es empaquetado de acuerdo al www-encoding usual.
Valor - Un string que contiene el valor asociado al Nombre de la cookie.
Fecha expiración - La fecha en que la cookie será borrada del disco. Las fechas en JavaScript se manejan como enteros que contienen el número de milisegundos transcurridos desde la medianoche del 1 de enero de 1970. Si es NULL se entiende que la cookie se borr´ al terminar la sesión
Ruta de validez - A partir de cuales directorios del servidor que originó el requerimiento de grabar-cookie será válida la cookie. Si es NULL se entiende que su valor es: /, o sea, válida en todo el servidor.
Dominio de validez - Indica bajo que dominio será válida la cookie.
¿Necesidad de un canal seguro ? - Si es verdadero, se usará el protocolo HTTPS para la transferencia de esta cookie, evitando que la información pueda ser vista.
= Como se usan las cookies
(Cambiar extension a .js) Incluír en las páginas que necesite cookies.
Para utilizar cookies, existe una biblioteca de funciones disponibles, desarrolladas por hIdaho design, que son de disponibilidad pública.
Funciones
GetCookie
Retorna el valor de la cookie especificada por name.
- name - String que contiene el nombre de la cookie.
SetCookie
Crea o actualiza una cookie.
- name - String que contiene el nombre de la cookie.
- value - String que contiene el valor de la cookie. Puede ser cualquier string de caracteres validos. expires (opcional) Objeto de tipo Date que contiene la fecha de expiracion de la cookie. Si se omite o es null, la cookie se borrara al finalizar la sesion.
- path (opcional) - String que indica la ruta para la cual la cookie es valida si se omite o es null, se usa la del documento que la creo.
- domain (opcional) - String indicando el dominio para el cual es valida. Si se omite o es null, se usa el dominio del documento que la creo.
- secure (opcional) - Valor booleano (true/false) que indica si la cookie necesita un canal seguro (HTTPS)
Los primeros dos parametros se requieren. Los otros, si se suministran, deben ser pasados en el orden listado mas arriba. Para omitir uopcion no usada, se pasa null en su lugar. Por ejemplo, para llamar a SetCookie usando nombre, valor y ruta, usted tipea:
SetCookie ("myCookieName", "myCookieValue", null, "/");
Los parametros omitidos al final no requieren pasar valores nulos.
Para pasar una cookie segura para la ruta "/myPath", que expire despues de la sesion actual:
SetCookie (myCookieVar, cookieValueVar, null, "/myPath", null, true);
DeleteCookie
Funcion que borra una cookie (fija su fecha de expiracion a la fecha actual.
- name - String que contiene el nombre de la cookie.
Ejemplo
Los siguientes ejemplos ilustran el uso de las funciones cookie (recuerde pegar srccookies.txt al principio del archivo).
var expdate = new Date ();
expdate.setTime (expdate.getTime() + (24 * 60 * 60 * 1000)); // 24 hrs
SetCookie ("ccpath", "http://www.hidaho.com/colorcenter/", expdate);
SetCookie ("ccname", "hIdaho Design ColorCenter", expdate);
SetCookie ("tempvar", "Esta es una cookie temporal.");
SetCookie ("ubiquitous", "Esta cookie funcionara en cualquier parte de el dominio actual",null,"/");
SetCookie ("paranoid", "Esta cookie requiere comunicaciones seguras.",expdate,"/",null,true);
SetCookie ("goner", "Esta cookie morira !");
