我正在使用 PHP 生成动态内容。
我正在发送以下 HTTP 标头:
HTTP/1.1 304 Not Modified
Date: Sun, 09 Dec 2012 17:24:41 GMT
Server: Apache
Connection: keep-alive, Keep-Alive
Keep-Alive: timeout=1, max=100
Etag: "237f43b800e655dbe6567f7d32d34c99"
Expires: Sun, 16 Dec 2012 17:24:41 GMT
Cache-Control: max-age=604800
Vary: Accept-Encoding
我稍后检查 Etagheader('HTTP/1.1 304 Not Modified')
是否匹配发送一个。这与 Chrome 和 Firefox 完美配合。但是,Safari(版本 6.0.2)不发送“If-Modified-Since”和“If-None-Match”标头。这是 Safari 在第二页命中时发送的 Request-Header:
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 Safari/536.26.17
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Cache-Control: max-age=0
该页面上链接的所有其他文件都会收到正确的请求标头和 Safari 使用的缓存文件或 304(在适当的情况下)。
为什么不向 Safari 发送正确的请求标头?我能改变什么?
谢谢!