Tìm hiểu kích thước tối đa mà một cookie web có thể trở thành

Một trang web cookie (thường được gọi là "cookie") là một mẩu dữ liệu nhỏ mà trang web lưu trữ trong trình duyệt web của người dùng. Khi một người tải trang web, cookie có thể cho biết thông tin trình duyệt về lượt truy cập của họ hoặc lượt truy cập trước đó. Thông tin này có thể cho phép trang web ghi nhớ các tùy chọn có thể đã được đặt trong lần truy cập trước đó hoặc có thể gọi lại hoạt động từ một trong những lần truy cập trước đó.

Bạn đã bao giờ đến một trang web thương mại điện tử và thêm một cái gì đó vào giỏ hàng, nhưng không hoàn thành giao dịch? Nếu bạn quay lại trang web đó vào một ngày sau đó, chỉ để tìm các mặt hàng của bạn đang chờ bạn trong giỏ hàng đó, thì bạn đã thấy một cookie hoạt động.

Kích thước của Cookie

Kích thước của cookie HTTP (tên thực tế của cookie web) được xác định bởi tác nhân người dùng. Khi bạn đo kích thước của cookie, bạn nên tính các byte trong toàn bộ cặp name = value, bao gồm cả dấu bằng.

Theo RFC 2109, các cookie web không nên bị giới hạn bởi các tác nhân người dùng, nhưng các khả năng tối thiểu của trình duyệt hoặc tác nhân người dùng phải có ít nhất 4096 byte cho mỗi cookie. Giới hạn này chỉ áp dụng cho phần name = value của cookie.

Điều này có nghĩa là nếu bạn đang viết một cookie và cookie nhỏ hơn 4096 byte, thì nó sẽ được hỗ trợ bởi mọi trình duyệt và tác nhân người dùng phù hợp với RFC.

Hãy nhớ rằng đây là yêu cầu tối thiểu theo RFC. Một số trình duyệt có thể hỗ trợ cookie dài hơn, nhưng để an toàn, bạn nên giữ cookie của mình dưới 4093 byte. Nhiều bài báo (bao gồm cả phiên bản trước đó) đã đề xuất rằng ở dưới 4095 byte phải đủ để đảm bảo hỗ trợ trình duyệt đầy đủ, nhưng một số thử nghiệm đã chỉ ra rằng một số thiết bị mới hơn, như iPad 3, thấp hơn một chút so với 4095.

Thử nghiệm cho chính mình

Một cách tuyệt vời để xác định giới hạn kích thước của cookie web trong các trình duyệt khác nhau là sử dụng kiểm tra Giới hạn cookie trình duyệt.

Chạy thử nghiệm này trong một vài trình duyệt trên máy tính của tôi, tôi nhận được thông tin sau cho các phiên bản mới nhất của các trình duyệt này:

Biên tập bởi Jeremy Girard