Quiero almacenar datos en los que el usuario haga clic en una cookie que nunca debe ir al servidor. Es como una sesión de datos añadidos, que quiero persistir en las sesiones, ya que los datos simplemente continúan agregando a la cookie, y se almacena durante mucho tiempo, y solo se elimina cuando el usuario elimina el historial de navegación. La cookie es solo una cookie de cliente puro y nunca tiene que ir al servidor, ya que no necesito los datos generados por el usuario en el servidor, así que quiero deshacerme de la sobrecarga adicional que crea la cookie al enviar y recibir mensajes entre ellos. navegador y servidor. ¿Es posible lograr esto?Cookies exclusivas para el cliente: cookie que no va al servidor
Respuesta
Si la compatibilidad del navegador es una preocupación, puede utilizar un poco de javascript para envolver varias tecnologías diferentes. Las versiones anteriores de IE admiten (supprise supprise) una versión propietaria de localstorage llamada userData (no creo que sea exactamente igual, pero debería hacer lo que necesita).
Un script de envoltura como http://www.jstorage.info/ o https://github.com/marcuswestin/store.js debe hacer lo que necesita hacer.
Muchas gracias @Bulk, voy a dar una oportunidad. Pero personalmente preferiría una solución de cookies independiente del navegador, en ese caso mis fallas se reducirían al límite de tamaño impuesto por el navegador en la cookie y las cookies desactivadas en el navegador (los datos del usuario/almacenamiento local también pueden ser desactivados y Supongo que este caso de falla puede ser excluido). –
No puedo decirlo con certeza Estoy 99% seguro de que no hay una solución basada en "cookies" para esto, pero no dudes en seguir buscando :) –
Estoy 100% seguro de que no hay forma de obligar a las cookies a estar solo en el lado del cliente, siempre se envían al servidor. Sin embargo, es posible hacer lo contrario: cookies del lado del servidor (no legibles por javascript) configurando el indicador HttpOnly en la cookie.
Sé que es un poco tarde para usted, pero esta respuesta es para todos los que tienen el mismo problema.
1) Con HTML5 puede usar web storage.
2) (¡Solo una idea! - ¡no probado!) Puede definir una cookie (a través de javascript en el cliente) y establecer el atributo "seguro". En este caso, la cookie solo se enviará al servidor en conexiones HTTPS. Para asegurarse de que la cookie nunca abandona el navegador, nunca se abre una conexión HTTPS ;-)
Actualización:
También podría simplemente establecer la ruta de la cookie a un camino que en realidad no lo hace existe.
document.cookie="name=value;path=/notExistingPath";
Tuve la misma idea con 2), pero no funciona. No puede acceder a las cookies seguras de JS (al menos no en FF). 1) funciona muy bien! – Lodovik
Oh, claro. Olvidé el acceso js. Traté de encontrar una solución también para navegadores que aún no admitan el almacenamiento web. Podría tratar de establecer un valor de ruta de cookies para una ruta que no existe. Entonces la cookie nunca debería ser enviada. (no testet. pls intente y responda el resultado) –
No use 'path =/notExistingPath' si desea que su cookie funcione en navegadores IE o Edge – amanteaux
utilizar una ruta imposible fijar la cookie:
document.cookie = "cookieName=...; expires=... ; path=/never_reached/ablkappmqlnahsuia";
- 1. problemas al eliminar las cookies, no va a desarmar
- 2. jQuery cookie plugin - $ cookies no está definido
- 3. Cookies solo del lado del cliente
- 4. Use cookies sin enviarlas de vuelta al servidor
- 5. conecte el cliente de Firebird al servidor
- 6. ¿Impide que el cliente sobrecargue el servidor?
- 7. jQuery $ .cookie no está leyendo la cookie establecida por la respuesta del servidor
- 8. No se pueden eliminar las cookies que se establecieron en JavaScript en el servidor
- 9. Safari 5 no envía todas las cookies de vuelta al servidor
- 10. Servidor que no reconoce la cookie del teléfono Android
- 11. Configurar cookies accesibles desde el lado del cliente en Express
- 12. ¿Cómo creo una solicitud de cliente HTTP con una cookie?
- 13. ¿Debería codificarse el contenido de las cookies al usar https?
- 14. ¿Cómo puedo hacer que el cliente web use cookies?
- 15. Aplicación web para iPhone, no almacena cookies
- 16. xmlhttprequest y set-cookie & cookie
- 17. Desarrollo del cliente para el servidor icecast
- 18. NSURLConnection persiste automáticamente las cookies enviadas desde el servidor?
- 19. Enviando la imagen del cliente al servidor
- 20. ¿Por qué este servidor que escribo no detecta que el cliente ha cerrado el socket?
- 21. socket.io cliente que no recibe mensajes del servidor
- 22. El cliente envía el ACUSE FINAL retrasado (~ 500ms) al servidor
- 23. Cookies que no funcionan en diferentes páginas
- 24. Establecer la ruta de las cookies a "/" no hace que las cookies sean accesibles para todo el sitio
- 25. ¿Cómo puede el servidor enviar datos al cliente?
- 26. NSURLRequest no envía cookies
- 27. aplicación para el iPhone construye al simulador, no se va a construir al dispositivo
- 28. COMET (servidor de inserción al cliente) en el iPhone
- 29. Cookie Editor para IE?
- 30. Terminología Cliente vs. Servidor
¿Nos puede el código para lo que han intentado mostrar? –
Según el navegador de destino, puede consultar localStorage - http://paperkilledrock.com/2010/05/html5-localstorage-part-one/ – Archer
'localstorage' está descartado, ya que necesito admitir navegadores más antiguos, de todos los principales. Mark: he logrado toda la funcionalidad, excepto por "cookies del lado del cliente puro". Estoy creando la cookie con el par nombre - valor apropiado, la fecha de caducidad y la ruta usando el código que encontré en el modo peculiar. Puedo controlar la cookie usando javascript. Solo que no puedo lograr la parte de "cookie solo para el cliente". Espero que tengas mi pregunta? –