Pregunta

Estoy usando la API de almacenamiento local HTML 5 para almacenar el token de acceso de un usuario. Las solicitudes anexa entonces este símbolo para acceder a mi API del lado del servidor. Me pregunto si necesito espacio de nombres de las teclas que uso. ¿El navegador hacerse cargo de esto o tengo que llamar a la tecla algo así como 'mi-impresionante-app-símbolo'? Me di cuenta de Twitter hace esto para algunos parametros de búsqueda.

Por cierto, sé que no es seguro para almacenar el token allí, pero la seguridad no es importante en este caso, la pregunta es sobre namespacing claves.

Gracias!

¿Fue útil?

Solución

El navegador se encarga de ello:

http://dev.w3.org/html5/webstorage/#dom- localStorage :

  

Los agentes de usuario debe tener un conjunto de zonas de almacenamiento locales, uno para cada origen.

Otros consejos

No, no es necesario hacerlo, uno localStorage para cada subdominio.

veo que cada respuesta sobre esta cuestión hasta ahora te dice que no es necesario "espacio de nombres" llaves localStorage. No estoy tan seguro de que esto es correcto.

Vamos a decir que usted desarrolla una aplicación y necesita ejecutar varias instancias de esa aplicación. Esto podría ser una prueba y sistema de producción, o varios sistemas de prueba. De todos modos, si estas aplicaciones se ejecutan en el mismo protocolo / servidor / puerto, pero con una URL diferente, tendrán acceso a la misma localStorage.

Si las llaves están utilizando nombres que cualquier otro desarrollador podría utilizar como "usuario", "datos", "caché", que podría terminar de leer localStorage desde otra aplicación por completo. Si esa aplicación se está ejecutando en el mismo servidor.

Para estar seguro, es posible que wa no utilizar una aplicación en el prefijo de las llaves y tal vez también una aplicación-id si desea ejecutar varias instancias en el mismo servidor.

Si tengo mal entendido cómo funciona la localStorage, por favor, corríjanme.

Las otras respuestas frente a los espacios de nombres entre aplicaciones, pero los espacios de nombres también son importantes en el caso de diferentes librerías utilizadas por la misma aplicación. Si está desarrollando una biblioteca de este tipo, probablemente sería respetuoso con otros desarrolladores de bibliotecas (o incluso su propio futuro) para el uso del almacenamiento espacio de nombres de la biblioteca.

Un ejemplo me encontré con esta noche utiliza el nonce clave de almacenamiento. Si varias bibliotecas de cada uno trataron de usar nonce dentro de la misma aplicación, que sería problemático. Si está desarrollando una biblioteca para su uso por otros desarrolladores, que sería bueno para proporcionar una opción de prefijo:. myapilib_ + nonce

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top