Parece que no puedo encontrar la manera de crear una cookie persistente contra una no persistente. ¿Cómo difieren, por ejemplo, en los encabezados HTTP que se envían de vuelta?¿Cómo creo una cookie persistente contra una no persistente?
Respuesta
Las cookies tienen una fecha de caducidad implícita o explícita que controla cuánto tiempo duran (sujeto a que el agente del usuario las aplique). Una cookie puede persistir solo por la duración de la sesión (o un período aún más corto).
Si una cookie es válida, se pasará junto con la solicitud HTTP al dominio de donde proviene. Solo el dominio que establece la cookie puede leer la cookie (aunque hay formas de explotar esto, como la creación de scripts entre sitios).
Si desea una cookie expire en un momento específico, establezca una caducidad fecha en que mediante el cliente o el lenguaje de servidor de su elección.
Si desea que la cookie expire cuando finaliza la sesión, no establezca una fecha de caducidad .
El colocador cookie puede especificar una fecha eliminación, en cuyo caso se eliminará la cookie en esa fecha.
Si el colocador de cookies no especifica una fecha , la cookie se elimina una vez que el usuario cierra su navegador.
Como resultado, especificar una fecha es una forma de haciendo que una cookie sobreviva durante las sesiones . Por este motivo, las cookies con fecha de caducidad se llaman persistentes.
Como ejemplo de aplicación, un sitio de compras puede utilizar persistentes cookies para almacenar los artículos usuarios han colocados en su cesta. (En realidad, la cookie puede referirse a una entrada en una base de datos almacenado en el sitio de compras, no en su ordenador.) De esta manera, si usuarios abandonan su navegador sin hacer una compra y volver más tarde, todavía encuentre los mismos artículos en la cesta para que no tengan que volver a buscar estos artículos. Si a estas cookies no se les dio una fecha de vencimiento, caducarán cuando el navegador esté cerrado, y se perderá la información sobre el contenido de la cesta .
cookie de sesión
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
galleta con una cierta marca de tiempo (.NET DateTime library)
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.Today.AddMonths(12); //or AddMinutes, or AddHours...
Response.Cookies.Add(cookie);
persistente Cookies
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);
Hay dos tipos de cookies en ASP.NET
cookies persistentes:
Las cookies se almacenan en el disco duro del ordenador. Permanecen en su disco duro y los servidores web pueden acceder hasta que se eliminen o caduquen.
public void SetPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
cookie.Expires = Convert.ToDateTime(“12/12/2008″);
Response.Cookies.Add(cookie);
}
las cookies no persistentes:
cookies se guardan sólo mientras el navegador Web se está ejecutando. Solo pueden ser utilizados por un servidor web hasta que cierre su navegador. No están guardados en tu disco.
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
- 1. ¿Cómo asigno una cookie no persistente (en memoria) en ASP.NET?
- 2. Crear cookie no persistente con FormsAuthenticationTicket
- 3. Persistente vs no persistente - ¿Qué debería usar?
- 4. Python: cookie persistente, genera el campo `expires`
- 5. ¿Cuándo querríamos una preferencia no persistente?
- 6. Configuración cookie persistente desde Java no funciona en IE
- 7. Cómo realizar una cola persistente en Android
- 8. Cómo crear una cookie http no persistente (en memoria) en C#?
- 9. Servicio persistente
- 10. persistente NSOperationQueue
- 11. Autenticación de formularios ASP.NET y autenticación persistente Cookie Security
- 12. Almacenamiento local HTML5 no persistente
- 13. problema al crear persistente cookie de autenticación: ASP.NET MVC
- 14. Agregar una UIView persistente con UITabBarController
- 15. ¿Qué significa exactamente una "conexión persistente"?
- 16. RabbitMQ con WCF y una cola persistente
- 17. Emacs: resaltado persistente de una región
- 18. Una conexión persistente con JDBC a MySQL
- 19. Google OpenID + OAuth persistente?
- 20. Memorización persistente en Python
- 21. ¿Cómo obtener una base de datos periódica local persistente?
- 22. Almacenamiento persistente Cocoa/MacOSX
- 23. HttpURLConnection persistente en Java
- 24. Django - Caché persistente
- 25. Subproceso de python persistente
- 26. persistente de autenticación Token Expira
- 27. mysqli conexión persistente
- 28. Cómo eliminar una tienda persistente de datos centrales
- 29. ¿Cómo probar una conexión persistente en un servidor HTTP?
- 30. ¿Cómo puedo definir una clave compuesta en Persistente
Y si solo quiero que la cookie persista en la sesión, ¿qué vencimiento debo establecer? –
Por favor, mira mi edición. –
¡Gracias! ¿Significa eso que cualquier Set-Cookie sin una cláusula expira será una cookie de sesión, y se perderá una vez que el navegador se reinicie? Porque eso no es lo que veo ... Una vez que hago una Set-Cookie sin caducar, y reinicio el navegador, aún puedo leer esa cookie. Es eso esperado? –