2015-04-11 14 views

Trả lời

0

Đặt độ tuổi tối đa: Bạn sử dụng setMaxAge để chỉ định khoảng thời gian (tính bằng giây) cookie phải hợp lệ. Sau đây sẽ thiết lập một cookie trong 24 giờ.

cookie.setMaxAge(60*60*24); 
11

Nếu bạn gọi setMaxAge() với một số tiêu cực (hoặc không gọi nó là gì cả), cookie sẽ hết hạn vào cuối phiên trình duyệt của người dùng. Từ the documentation:

Giá trị âm có nghĩa là cookie không được lưu liên tục và sẽ bị xóa khi trình duyệt web thoát.

Cách tiếp cận điển hình cho cookie "không bao giờ hết hạn" là đặt thời gian hết hạn một số tiền xa trong tương lai. Ví dụ:

cookie.setMaxAge(60 * 60 * 24 * 365 * 10); 

Sẽ đặt thời gian hết hạn trong 10 năm trong tương lai. Rất có thể người dùng sẽ xóa cookie của họ (hoặc có thể chỉ nhận được một máy tính mới) trong vòng 10 năm tới, vì vậy điều này có hiệu quả giống như xác định rằng nó sẽ không bao giờ hết hạn.

Hãy nhớ rằng cookie không thực sự có khái niệm về "độ tuổi tối đa"; cách này thực sự được thực hiện là Java thêm số giây được chỉ định vào thời gian hệ thống hiện tại của máy chủ, sau đó gửi thời gian đó làm thời gian hết hạn cho cookie. Vì vậy, sự không phù hợp lớn giữa thời gian máy chủ và thời gian khách hàng có thể làm phức tạp mọi thứ một chút - tốt nhất bạn có thể làm (ít nhất, dễ dàng) là đảm bảo đồng hồ máy chủ của bạn được đặt chính xác và hy vọng đồng hồ của khách hàng được đặt.

Các vấn đề liên quan