Tôi dường như không thể tìm ra cách tạo một cookie liên tục và không liên tục. Chúng khác nhau như thế nào trong các tiêu đề HTTP được gửi lại?Làm cách nào để tạo một cookie liên tục và không liên tục?
Trả lời
Cookie có ngày hết hạn ngầm hoặc đặt rõ ràng kiểm soát thời gian chúng kéo dài (tùy thuộc vào tác nhân người dùng thực sự thực thi nó). Một cookie có thể chỉ tồn tại trong suốt thời gian của phiên (hoặc một khoảng thời gian ngắn hơn).
Nếu cookie hợp lệ, cookie sẽ được chuyển cùng với yêu cầu HTTP đến tên miền bắt nguồn từ đó. Chỉ có miền đặt cookie mới có thể đọc cookie (mặc dù có nhiều cách để khai thác điều này, chẳng hạn như tập lệnh trên nhiều trang).
Nếu bạn muốn có một cookie sẽ hết hạn vào một thời điểm cụ thể, thiết lập một hết hạn ngày nó bằng cách sử dụng client hoặc ngôn ngữ server-side của sự lựa chọn của bạn.
Nếu bạn muốn cookie hết hạn khi phiên kết thúc, không đặt ngày hết hạn .
Cookie setter có thể chỉ định một ngày xóa, trong trường hợp cookie sẽ được gỡ bỏ vào ngày đó.
Nếu trình đặt cookie không chỉ định một ngày, cookie sẽ bị xóa sau khi người dùng hủy kích hoạt trình duyệt của họ .
Kết quả là, chỉ định ngày là cách để đặt cookie tồn tại trên phiên. Vì lý do này, cookie có ngày hết hạn được gọi là liên tục.
Là một ứng dụng ví dụ, một trang web mua sắm có thể sử dụng dai dẳng cookie để lưu trữ các mặt hàng người dùng đã đặt trong giỏ của họ. (Trên thực tế, cookie có thể tham khảo một mục trong một cơ sở dữ liệu lưu trữ tại trang web mua sắm, không phải trên máy tính của bạn.) Bằng cách này, nếu người dùng từ bỏ trình duyệt của họ mà không khi mua hàng và trở về sau, họ vẫn tìm các sản phẩm tương tự trong giỏ để chúng không phải tìm kiếm lại các chi tiết này . Nếu các cookie này không được cung cấp ngày hết hạn, , chúng sẽ hết hạn khi trình duyệt bị đóng và thông tin về nội dung giỏ sẽ bị mất.
Cookie phiên
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
Response.Cookies.Add(cookie);
Cookie với một số thời gian tem (.NET DateTime library)
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.Today.AddMonths(12); //or AddMinutes, or AddHours...
Response.Cookies.Add(cookie);
Persistent Cookie
HttpCookie cookie = new HttpCookie("myCookieName", "myCookieValue");
cookie.Expires = DateTime.MaxValue;
Response.Cookies.Add(cookie);
Có hai loại cookie trong ASP.NET
Cookie cố định:
Cookie được lưu trữ trên đĩa cứng máy tính của bạn. Chúng nằm trên đĩa cứng của bạn và có thể được truy cập bởi các máy chủ web cho đến khi chúng bị xóa hoặc đã hết hạn.
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);
}
cookie Non-dai dẳng:
Cookies được lưu chỉ trong khi trình duyệt web của bạn đang chạy. Chúng chỉ có thể được sử dụng bởi máy chủ web cho đến khi bạn đóng trình duyệt. Chúng không được lưu trên đĩa của bạn.
public void SetNonPersistentCookies(string name, string value)
{
HttpCookie cookie = new HttpCookie(name);
cookie.Value = value;
Response.Cookies.Add(cookie);
}
- 1. Tạo cookie không liên tục bằng FormsAuthenticationTicket
- 2. Làm thế nào để tạo cookie liên tục trong asp.net?
- 3. Python: Cookie liên tục, tạo trường `expires`
- 4. Cách tạo AlarmManager liên tục
- 5. thiết lập cookie liên tục với javascript
- 6. Làm thế nào để gán một cookie không liên tục (trong bộ nhớ) trong ASP.NET?
- 7. SharedPreferences không liên tục
- 8. Cookie liên tục từ một servlet trong IE
- 9. Sử dụng lớp con NSManagedObject để truyền dữ liệu liên tục và không liên tục
- 10. Liên tục và không liên tục - Tôi nên sử dụng loại nào?
- 11. Làm cách nào để liên tục nối các luồng MP3?
- 12. Có cách nào để khởi tạo một mảng với các biến không liên tục không? (C++)
- 13. Slicing một chuỗi liên tục
- 14. Đường liên tục Bash
- 15. mảng liên tục
- 16. Khai báo và khởi tạo liên tục trong file header
- 17. : đã được khởi tạo liên tục PDF
- 18. Spring MVC 3.0: Làm cách nào để liên kết với đối tượng liên tục
- 19. Windows Azure và tích hợp liên tục
- 20. mysql multi_query không liên tục bị lỗi
- 21. nét liên tục trong Clojure
- 22. Làm thế nào để có được một sự kiện liên lạc liên tục?
- 23. Biểu thức ca không liên tục
- 24. RabbitMQ với WCF và một hàng đợi liên tục
- 25. Delphi dbgrid liên tục cuộn
- 26. ray không gian tên chưa được khởi tạo liên tục
- 27. Cách tách một chuỗi không có dấu tách liên tục
- 28. Bạn sử dụng công cụ nào để tạo liên kết tích hợp liên tục (CI)?
- 29. Làm thế nào để Xoay ảnh liên tục?
- 30. Tạo đối tượng mới liên tục trên cùng một biến
Và nếu tôi chỉ muốn cookie tồn tại trong phiên, tôi nên đặt hết hạn nào? –
Vui lòng xem chỉnh sửa của tôi. –
Cảm ơn! Điều đó có nghĩa là bất kỳ Cookie Cài đặt nào không có điều khoản hết hạn sẽ là cookie phiên và sẽ bị mất sau khi trình duyệt khởi động lại không? Bởi vì đó không phải là những gì tôi thấy ... Một khi tôi làm một Set-Cookie mà không hết hạn, và khởi động lại trình duyệt, tôi vẫn có thể đọc lại cookie đó. Điều đó có được mong đợi không? –