Khi những thứ như YSlow và Tốc độ trang yêu cầu bạn thiết lập các miền không có cookie, ý nghĩa thực sự của chúng là phục vụ phương tiện truyền thông từ một tên miền mà bạn sẽ không đặt bất kỳ hoặc không đặt bất kỳ (toàn cầu) nào trong quá khứ. Đôi khi điều này có thể được thực hiện bằng cách sử dụng các tên miền phụ, chẳng hạn như media.domain.com
, hoặc static.domain.com
, tuy nhiên nếu bạn đặt cookie trên domain.com
toàn bộ tên miền - một cookie cho *.domain.com
- thì cookie này sẽ được máy khách gửi lại cho máy chủ vào mọi yêu cầu cho mọi miền liên quan đến domain.com
. Điều này bao gồm tất cả các tên miền phụ.
Cookie toàn cầu trở thành một vấn đề nếu bạn quyết định từ bỏ việc sử dụng www.
tên miền của mình. Nếu không có tên miền phụ cụ thể để đặt cookie, tất cả cookie phải được đặt *.domain.com
để chúng hoạt động.
Vấn đề cookie toàn cầu này là lý do tại sao bạn sẽ thấy phương tiện tĩnh được phục vụ từ những nơi như ytimg.com
trên YouTube. ytimg.com
sẽ không bao giờ cung cấp nội dung động có thể đặt cookie, điều đó có nghĩa là sẽ không có cookie nào được gửi từ máy khách trở lại máy chủ khi các tên miền này là một phần của yêu cầu HTTP.
Nếu bạn chắc chắn rằng bạn sẽ không bao giờ có cookie được đặt *.domain.com
thì bạn có thể sử dụng tên miền phụ cho nhu cầu của mình. Xin lưu ý rằng hầu hết thời gian nếu bạn tích hợp với một trang web hoặc dịch vụ khác thông qua Javascript, họ sẽ đặt cookie tên miền toàn cầu.
Trong Apache (và tôi chắc chắn rằng mọi máy chủ web khác) bạn có thể đặt hoặc hủy đặt tiêu đề trước khi yêu cầu được trả lời. Điều này sẽ không khắc phục vấn đề của khách hàng gửi cookie đến máy chủ của bạn, nhưng nó sẽ giữ cho tên miền của bạn không bao giờ gửi hoặc thiết lập cookie ban đầu. Chỉ có vấn đề nếu bạn phục vụ nội dung không tĩnh từ các miền không có cookie, điều này đánh bại mục đích của chúng.
Header unset Cookie
Header unset Set-Cookie
Điều này sẽ bỏ đặt các tiêu đề cho cookie hiện có và để tạo cookie mới. Một lần nữa, chỉ một vấn đề nếu bạn phục vụ nội dung từ các miền tĩnh có khả năng đặt cookie. Đặt cái này trong cấu hình trang web hoặc virtualhost của bạn (tùy thuộc vào hệ điều hành, máy chủ và phiên bản của bạn có thể là bất kỳ số lượng địa điểm nào).