到期头被设置,仍然看到请求

我假设这可能是错误的,但是如果我在文件上设置了一个access plus 1 year的过期标题,并且我可以看到在标题中,当我再次请求该文件时,不应该只是caching在浏览器中,所以我从来没有真正看到服务器上的请求?

我在img上有这些响应标题:

 Connection:Keep-Alive Date:Mon, 05 Jul 2010 16:17:08 GMT Etag:"9cc4b2-73b-48a43cbb63300" Expires:access plus 1 year Keep-Alive:timeout=15, max=98 Server:Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny6 with Suhosin-Patch 

但是,当我刷新,我仍然看到在我的apache访问日志中的图像的请求。 这是预期的行为? 我想这个请求将永远不会让我的服务器。

顺便说一句,这是我用来设置过期标题:

 RewriteCond %{REQUEST_FILENAME} ^\/(images|assets|pdfs) [NC] RewriteRule ^(.*)$ $1 [E=set_expires_header:true,L] Header add Expires "access plus 1 year" env=set_expires_header 

查看关于mod_expires的文档。 它有一个functionExpiresByType这将节省您的mod_rewrite规则。 它也支持你的英文语言,根据访问时间添加expires头文件。 我不相信mod_headers是足够聪明的,以找出你input的内容,所以BMDan在date格式中是正确的。

不幸的是,这不是一个有效的Expires头。 请参见http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 ,特别是http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3。 3.1 ,它定义了一个“HTTPdate”。