Esta es una de las especificaciones incluidas en la parte de Javascript de HTML5, que permite a las páginas web almacenar información en la parte del cliente, es decir, el navegador web. Consta de dos mecanismos (explicados con detalle en apartados más adelante) parecidos a las cookies de sesión de HTTP, pero que permiten almacenar cantidades más grandes de datos, siempre en modo texto.
Como veremos más tarde, el API WebStorage se divide en dos vertientes, el "SessionStorage", para guardar información que caducará al final de la sesión y el "LocalStorage", que permite almacenar datos que perduren entre distintas visitas del mismo usuario al sitio web.
La mayoría de los navegadores dan soporte desde hace tiempo a estos mecanismos de almacenamiento; por tanto, se pueden implementar ya perfectamente en los sitios web que realizamos en la actualidad.

La información que se guarda en el navegador no se almacena encriptada, a no ser que se haya encriptado previa y explícitamente mediante Javascript por otros mecanismos ajenos al propio API WebStorage.
A diferencia de las cookies, la información almacenada sólo puede ser accedida desde la parte del cliente, es decir, no existe un mecanismo para acceder directamente desde PHP o cualquier otro lenguaje de servidor a los datos del WebStorage.

Se podría pensar en el objeto como un array asociativo, es decir, un array al que se puede acceder a través de un índice de tipo string (clave) y no necesariamente una posición.
ATRIBUTOS:
También se puede obtener la clave tomando el objeto como si se tratase de un array asociativo, es decir, storage['clave'] o accediendo como objeto storage.clave.
Como curiosidad, decir que los datos se guardan en orden alfabético.
Para ello se utiliza el atributo sessionStorage. Cabe destacar que los datos se pierden al cerrar el navegador.
//Comprobación de soporte del navegador
if (window.sessionStorage != null) {
//Recuperar claves suponiendo que existe una clave llamada 'propiedad'
var propiedad1 = sessionStorage.propiedad; //Acceso: objeto
var propiedad2 = sessionStorage["propiedad"]; //Acceso: array asociativo
var propiedad3 = sessionStorage.getItem("propiedad"); //Acceso: método
//Guardar la clave 'propiedad' con el valor 'valor'
sessionStorage.propiedad = "valor"; //Asignación: objeto
sessionStorage["propiedad"] = "valor"; //Asignación: array asociativo
sessionStorage.setItem("propiedad", "valor"); //Asignación: método
//Borrar una única clave
sessionStorage.removeItem("propiedad");
//Borrar todas las claves
sessionStorage.clear();
//Obtener la clave de la posición 1
sessionStorage.key(0);
//Saber cuántas claves hay
var cuantas_claves = sessionStorage.length;
}
Se verá un ejemplo más completo y complejo en el siguiente artículo sobre WebStorage.
| Consulta Por: Kike | 12/9/2012
|
| Internet Explorer | 12/9/2012 |
| IE: otra vez ;) | 16/9/2012 |