| 描述: | 的生成Expires和
Cache-ControlHTTP头根据用户指定的标准 |
|---|---|
| 状态: | 延期 |
| 模块标识符: | expires_module |
| 源文件: | mod_expires.c |
此模块控制服务器响应中HTTP标头的设置和Expires
HTTP标头的max-age指令
Cache-Control。可以将到期日期设置为相对于上次修改源文件的时间,还是相对于客户端访问的时间。
这些HTTP标头是对客户端的有关文档有效性和持久性的指令。如果已缓存,则可以从缓存中而不是从源中获取文档,直到该时间过去为止。之后,缓存副本被视为“过期”且无效,并且必须从源中获取新副本。
要修改Cache-Control指令以外的指令
max-age(请参阅RFC 2616第14.9节),可以使用Header指令。
当Expires标头已经是服务器生成的响应的一部分时,例如,当由CGI脚本生成或由原始服务器代理时,此模块不会更改或添加Expires或Cache-Control标头。
的ExpiresDefault和
ExpiresByType指令也可以以以下形式的更可读的语法定义的:
ExpiresDefault "base [plus num type] [num type] ..." ExpiresByType type/encoding "base [plus num type] [num type] ..."
其中base是以下之一:
accessnow(相当于“ access”)modification该plus关键字是可选的。num
应该是整数值[可接受atoi()],并且type是以下之一:
yearsmonthsweeksdayshoursminutesseconds例如,默认情况下,以下任何伪指令可用于使文档在访问后1个月后过期:
ExpiresDefault "access plus 1 month" ExpiresDefault "access plus 4 weeks" ExpiresDefault "access plus 30 days"
可以通过添加几个“ num type ”子句来对到期时间进行微调:
ExpiresByType text/html "access plus 1 month 15 days 2 hours" ExpiresByType image/gif "modification plus 5 hours 3 minutes"
请注意,如果您使用基于修改日期的设置,则Expires标头不会添加到不是来自磁盘文件的内容中。这是由于没有针对此类内容的修改时间这一事实。
| 描述: | 启用Expires
头文件的生成 |
|---|---|
| 句法: | ExpiresActive On|Off |
| 默认: | ExpiresActive Off |
| 内容: | 服务器配置,虚拟主机,目录,.htaccess |
| 覆写: | 指标 |
| 状态: | 延期 |
| 模块: | mod_expires |
该指令启用或禁用有关文档领域的Expires和Cache-Control标头的生成
。(也就是说,.htaccess例如,如果在文件中找到
,则仅适用于从该目录生成的文档。)如果设置为
Off,则不会为领域中的任何文档生成标头(除非在较低级别覆盖,例如一个.htaccess文件覆盖服务器配置文件)。如果设置为On,则标题将根据ExpiresByType和
ExpiresDefault
指令(qv)定义的标准添加到提供的文档中
。
请注意,此伪指令不保证
将生成Expires或Cache-Control头。如果不符合条件,则不会发送任何标头,其效果就好像没有指定此指令一样。
| 描述: | ExpiresMIME类型配置的标头的值 |
|---|---|
| 句法: | ExpiresByType MIME-type
<code>seconds |
| 内容: | 服务器配置,虚拟主机,目录,.htaccess |
| 覆写: | 指标 |
| 状态: | 延期 |
| 模块: | mod_expires |
此指令定义了的值Expires
报头和max-age所述的指令
Cache-Control报头指定类型的文件(产生例如,text/html)。第二个参数设置将添加到基准时间以构造到期日期的秒数。将Cache-Control:
max-age通过从有效期限减去请求时间和表达的结果以秒计算的。
基本时间可以是文件的最后修改时间,也可以是客户端访问文档的时间。应使用哪个由<code>字段指定
;M
表示应将文件的最后修改时间用作基准时间,并A应使用客户端的访问时间。
效果上的差别是微妙的。如果M使用,则所有高速缓存中文档的所有当前副本将同时到期,这对于每周都在同一URL上找到的每周通知等很有用。如果A使用,则每个客户的到期日期都不同;这对于不经常更改的图像文件可能是好的,特别是对于一组都引用相同图像的相关文档(即,将在相对较短的时间范围内重复访问图像)而言。
# enable expirations ExpiresActive On # expire GIF images after a month in the client's cache ExpiresByType image/gif A2592000 # HTML documents are good for a week from the # time they were changed ExpiresByType text/html M604800
请注意,该伪指令只有ExpiresActive On在已指定的情况下才有效
。仅对于指定的MIME类型,它会覆盖ExpiresDefault
伪指令设置的任何到期日期。
您还可以使用本文档前面介绍的备用语法来指定到期时间计算。