2011-05-12 10 views

Respuesta

8

1) Almacenamiento de sesión y almacenamiento local permiten una mayor capacidad (actualmente 5mb con la mayoría de los navegadores) y no se envían al servidor para cada solicitud HTTP (HTML, imágenes, JavaScript, CSS, etc.). cantidad de tráfico entre el cliente y el servidor (ahorrándole $ dosh).

2) El almacenamiento local/de sesión está restringido a la configuración de dominio/obtención de valores, por lo que si usa localStorage.set('key', 'val') en www.domain1.com, no puede acceder a esos datos usando localStorage.get('key') en www.domain2.com. Tenga en cuenta que la restricción también se aplica a dominios y subdominios, es decir, no puede acceder a www.domain1.com local/session storage desde sub.domain1.com tampoco.

Actualización de @ josh3736: los usuarios, sin embargo, tienen acceso completo al almacenamiento local y de sesión sin formato. Así es como los usuarios actualmente pueden desbloquear todos los niveles en la versión web de Angry Birds: http://wesbos.com/all-levels-html5-angry-birds/ - para reiterar a Josh, nunca confíe en los datos del nivel del cliente.

Más detalles aquí: http://diveinto.html5doctor.com/storage.html

+7

Una cosa que no resolvió: sí, los datos en el almacenamiento local pueden ser vistos o editados por el usuario. Por ejemplo, en Chrome, abra las Herramientas de desarrollo y vaya a la pestaña Recursos. Allí puede ver y editar fácilmente todo lo que tiene el dominio actual en el almacenamiento local. (Como cualquier otra cosa en la web, ** nunca confíe en los datos del cliente **.) – josh3736

+3

josh3736: "nunca confíe en los datos del cliente", no puede ser estresado o repetido las veces que sea necesario. – John

+0

¿Hay alguna manera de verificar la integridad de los datos en el lado del cliente (práctico, supongo que uno siempre puede almacenar cosas como una sola cadena y comprobar que contra un hash o similar)? –

1

Otra ventaja de usar Almacenaje de la sesión su rendimiento en su uso. Especialmente para datos grandes (100 kb, etc.). Las cookies simples deberían ser parte de cada solicitud al servidor. Entonces no obtendrás estos datos almacenados en el servidor por medios simples, pero puedo liberarlos con eso.

Cuestiones relacionadas