Web Storage
Ene26
Web storage es un API de HTML5 que nos permite guardar datos estructurados en el cliente. Sustituye a las famosas cookies que son enviadas en las cabeceras HTTP. Los datos almacenados en disco solo podrán ser accedidos desde el cliente y no desde el servidor, se busca con esto aumentar la seguridad de la información enviada, además el tamaño de los datos almacenados en disco podrá ser mayor, aproximadamente de 5 Mb.
Web Storage define dos tipos de almacenamiento: sessionStorage y localStorage
sessionStorage
La información manejada mediante este mecanismo podrá ser accedida solo durante la sesión y en caso de tener varias ventanas abiertas la información mostrada en cada una de ellas podrá ser distinta. Los datos se perderán una vez se cierre el navegador.
localStorage
Permite guardar datos que podrán ser accedido una vez cerremos el navegador. La información será la misma en todas las ventanas abiertas dentro de una misma sesión.
Tanto sessionStorage como localStorage pueden hacer uso de los siguientes métodos y atributos:
- setItem (setItem(key, value)): Permite almacenar un valor para una clave dada
- geItem (geItem(key)): Permite recuperar un valor de clave dada
- removeItem (removeItem(key)): Bora una clave y su valor
- clear (clear()): Borra todas las claves almacenadas
- length Este atributo nos permite calcular el número de claves guardadas
- key (key(index)): Permite recuperar una clave pasándole un índice determinado. Mediante un bucle y el uso de este método podremos recuperar todas las claves guardadas en nuestro disco.
Código JavaScript
for (var i= 0; i < localStorage.length; ++ i){ claves[i] = localStorage.key(i) }
Respecto al soporte que ofrecen los navegadores web para esta API lo podéis ver en la siguiente tabla: Fuente: caniuse.com

A continuación os pongo un formulario para que podáis probar el funcionamiento de los dos mecanismos que nos proporciona la API de JavaScript Web Storage:
$(document).ready(function()
{
function setNombre() {
var nombreLocal = $("#nombre").attr("value");
var nombreSesion = $("#nombre2").attr("value");
localStorage.nombre=nombreLocal;
sessionStorage.nombre=nombreSesion;
Bienvenida();
}
function Bienvenida(){
if(localStorage.nombre != null)
$("#txtLocal").html("Bienvenido: "+ localStorage.nombre +" (localStorage)")
if(sessionStorage.nombre != null)
$("#txtSesion").html("Bienvenido: "+ sessionStorage.nombre +" (sessionStorage)")
}
$(".enviar").click(function(){
setNombre()
return false;
});
$(".limpiar").click(function(){
localStorage.clear()
sessionStorage.clear()
});
Bienvenida()
});
Javier
16/05/2011
Hola. Interesante articulo este que he leido, he estado leyendo en la web oficial más del tema, pero me asalta una duda.
Se supone que esto está planteado para poder trabajar en offline, es decir, cuando falte una conexión de internet. Por lo que si se debe almacenar dichos datos en una BD como SqLite se necesita el manejo de PHP, pero si el cliente no tiene PHP instalado, que utilidad puede tener este?
Saludos.
saul montenegro
21/05/2011
Yo no entiendo nada, como guardo a que direccion de pagina web voy y lo recupero en otra computadora que clave en fin no se entiende nada
en mi computadora aparece cuando abro computer pues tengo una asus notebook y no se de donde salio eso de webstorage la verdad no entiendo supongo es un espacio de almacenaminto donde.. en mi computadora o en un servidor lejanoy si esta en un servidor lejanocomo bajo lo que suba en fin por favor aclaren bien que direccion o que debe poner a quien le quiero compartir en fin esta todo confuso
admin
01/06/2011
Hola Javier, efectivamente el propósito final de Web Storage es poder trabajar en modo offline. Sobre la cuestión que planteas te recomiendo que leas este artículo de Shwetank Dixit:
http://dev.opera.com/articles/view/taking-your-web-apps-offline-web-storage-appcache-websql/
Diego Romero
28/06/2011
Javier:
web storage no tiene absolutamente nada que ver con PHP. Lo explicado aquí ocurre en el navegador. Es el navegador quien se encarga de guardar los datos en alguna parte del disco del visitante y recuperarla más tarde.
Saul:
web storage no fue pensado para lo que comentas. Los datos guardados permanecen solo en la máquina donde se ha ejecutado el script.
Para hacer lo que quieres necesitas sí o sí tecnología del lado del servidor.
JUAN CARLOS
22/11/2011
Hola! Con respecto a tu comentario javier, esta herramoenta claro que tiene mucha utilidad, tan solo un ejemplo seria con el uso de buscadores en tu sitio, supongamos que tienes un sitio de ventas x internet, lo normal es que cada vez el cliente quiera buscar un articulo en la barra de busqueda, esta se conecte a la base d datos para mostrar los articulos que tienes, mas sin embargo con web storage puedes tener almacenadas las preferencias de busqueda del cliente y asi cuando desee buscar algo, le apareceran resultados en funcion de sus preferencias dado que estas estan almacenadas en el web storage, esto resulta muy eficiente x q te ahorras la consulta a la base d datos, y optimizas la capacidad de tus servidores