Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Cookie Attributes
Bài viết sẽ đề cập tới những cookie attributes cần biết từ phổ biến đến ít phổ biến như Domain, Path, Max-Age, HttpOnly, Samesite,...
Mình có tham khảo tài liệu từ mozilla nhưng một số ý không rõ lắm nên mình viết theo kết quả thử nghiệm, có gì chưa đúng mong anh em cùng đóng góp!
Expires
Mốc thời gian hết hạn của cookie. Xem định dạng giá trị date tại đây.
Nếu trường này và Max-Age đều không được xác định, cookie sẽ được xoá khi kết thúc phiên.
Max-Age
Thời gian tồn tại của cookie tính bằng giây kể từ thời điểm cookie được set.
Nếu cả Expires và Max-Age được set, giá trị Max-Age sẽ được ưu tiên sử dụng.
Domain
Giá trị của tham số Domain chỉ định Host mà trình duyệt sẽ gửi cookie này lên.
Nếu không được chỉ định, giá trị mặc định sẽ là host của URL request lên. Khi đó cookie chỉ có giá trị với host này.
Nếu giá trị được set, cookie sẽ có giá trị như bảng bên dưới:
Path
Khi một path được chỉ định, nó và các path con của nó sẽ nhận được cookie này.
VD: Khi Path=/sub
1 thì cookie sẽ có giá trị với các path /sub1/sub2
, /sub1/sub2/sub3
,...
Giá trị này áp dụng cho cả các subdomain mà cookie này đang có hiệu lực.
Secure
Khi giá trị này được set, cookie sẽ chỉ được gửi lên khi request sử dụng giao thức HTTPS
.
HttpOnly
Khi giá trị này được set, cookie sẽ không thể đọc bằng Javascript.
(Cookie vẫn được gửi lên server với các request từ Javascript)
SameSite
Với mỗi giá trị, tham số này có một ý nghĩa khác nhau:
-
Strict
: Cookie sẽ chỉ được gửi lên server khi giá trị referer của request này match với giá trị domain của cookie.\ Như vậy nghĩa là khi chúng ta request trực tiếp URL, các cookie sẽ không được gửi lên bởi lúc này referer bằng rỗng. Giả sử URL này chỉ được truy cập khi đã login thì khi đó chúng ta sẽ ở trạng thái chưa login mặc dù trước đó đã login. -
Lux
: Cookie cũng được bảo vệ như Strict, tuy nhiên với Lux, cookie sẽ được gửi lên với bất kỳ referer nào khi request hiện tại đang sử dụng HTTP method an toàn bao gồmGET, HEAD, OPTIONS và TRACE
. -
None
: Cookie được gửi lên với mọi request bất kể same-site hay cross-site. Giá trị này bắt buộc sử dụng cùng tham sốSecure
.
Refer
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie\
https://web.dev/samesite-cookies-explained/





