描述: | 的生成Expires 和
Cache-Control HTTP头根据用户指定的标准 |
---|---|
状态: | 延期 |
模块标识符: | 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是以下之一:
access
now
(相当于“ access
”)modification
该plus
关键字是可选的。num
应该是整数值[可接受atoi()
],并且type是以下之一:
years
months
weeks
days
hours
minutes
seconds
例如,默认情况下,以下任何伪指令可用于使文档在访问后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
头。如果不符合条件,则不会发送任何标头,其效果就好像没有指定此指令一样。
描述: | Expires MIME类型配置的标头的值 |
---|---|
句法: | 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
伪指令设置的任何到期日期。
您还可以使用本文档前面介绍的备用语法来指定到期时间计算。