我正在努力遵循YSLOW的指导方针来优化我的网站。我注意到,当图像、js和css文件等静态内容托管在我的主域上时,它们会被下载不必要的cookie。因此,我把它们放在一个新的域(而不是子域)上以避免这种情况。
然后我发现YSLOW说这个静态内容需要在将来过期的头。这难道不会导致启用cookie吗?这是非此即彼的情况吗?还是可以在无cookie的域上托管静态内容并添加过期标头?如果是,如何?
Cookie不是过期标头。Cookie设置有Set-Cookie
HTTP头,它专门指示浏览器保存一小段文本,并在每次联系同一域时再次发送。Expire标头是用Expires
和相关标头设置的,并告诉浏览器内容何时应被视为过期。这会导致浏览器根本不与服务器联系,并在本地缓存数据。
它们都是完全独立的标头和机制。请参阅此处查看您可以发送的所有其他标头及其效果的列表,并使用浏览器检查器的网络选项卡查看每个请求来回发送的标头类型。