• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mod_expires

    描述:根据 user-specified 标准生成ExpiresCache-Control HTTP headers
    状态:延期
    模块标识符:expires_module
    源文件:mod_expires.c

    摘要

    此模块控制服务器响应中Expires HTTP 标头和Cache-Control HTTP 标头的max-age指令的设置。到期 date 可以设置为相对于上次修改源文件的 time 或 client 访问的 time。

    这些 HTTP headers 是 client 关于文档有效性和持久性的指令。如果缓存,则可以从缓存而不是从源获取文档,直到此 time 已经过去。之后,缓存副本被视为“已过期”且无效,并且必须从源获取新副本。

    要修改max-age以外的Cache-Control指令(请参阅RFC 2616 部分 14.9),可以使用头指令。

    Expires标头已经是服务器生成的响应的一部分时,对于 example,当由 CGI 脚本生成或从源服务器代理时,此模块不会更改或添加ExpiresCache-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 应该是 integer value[36],type 是以下之一:

    • years
    • months
    • weeks
    • days
    • hours
    • minutes
    • seconds

    对于 example,默认情况下,以下任何指令都可用于使文档在访问后 1 个月到期:

    ExpiresDefault "access plus 1 month"
    ExpiresDefault "access plus 4 weeks"
    ExpiresDefault "access plus 30 days"
    

    通过添加几个'num type'子句,expiry time 可以是 fine-tuned:

    ExpiresByType text/html "access plus 1 month 15 days 2 hours"
    ExpiresByType image/gif "modification plus 5 hours 3 minutes"
    

    请注意,如果您使用基于修改 date 的设置,则不会将 Expires 标头添加到不是来自磁盘上文件的内容。这是因为此类内容没有修改 time。

    ExpiresActive 指令

    描述:允许生成Expires headers
    句法:ExpiresActive On\|Off
    默认:ExpiresActive Off
    Context:server config,virtual host,directory,.htaccess
    覆盖:索引
    状态:延期
    模块:mod_expires

    该指令启用或禁用相关文档领域的ExpiresCache-Control headers 的生成。(也就是说,如果在.htaccess文件中找到,例如,它仅适用于从 directory.)生成的文档。如果设置为Off,则不会为该域中的任何文档生成 headers(除非在较低的 level 上覆盖,例如覆盖服务器配置文件的.htaccess文件。如果设置为On,则_header 将根据ExpiresByType和ExpiresDefault指令(q.v.))定义的条件添加到服务文档中。

    请注意,此指令不保证将生成ExpiresCache-Control标头。如果不满足条件,则不会发送标头,效果就像是甚至没有指定此指令一样。

    ExpiresByType 指令

    描述:由 MIME 类型配置的Expires标头的 Value
    句法:ExpiresByType MIME-type <code>seconds
    Context:server config,virtual host,directory,.htaccess
    覆盖:索引
    状态:延期
    模块:mod_expires

    该指令定义Expires标头的 value 和为指定类型(e.g.,text/html)的文档生成的Cache-Control标头的max-age指令。第二个参数设置将添加到基本 time 以构造到期 date 的秒数。Cache-Control: max-age是通过从到期 date 中减去请求 time 并以秒为单位表示结果来计算的。

    base time 是文件的最后修改 time,或 client 访问文档的 time。应该使用哪个由<code>字段指定;M表示文件的最后修改 time 应该用作基本 time,而A表示应该使用 client 的 access time。

    效果的差异是微妙的。如果使用M,则所有缓存中文档的所有当前副本都将在同一 time 时间到期,这对于始终在同一 URL 上发现的每周通知等情况很有用。如果使用A,则每个 client 的 date 到期时间不同;这对于不经常更改的图像文件很有用,特别是对于所有引用相同图像的一组相关文档(i.e.,图像将在相对较短的时间内重复访问)。

    例:

    # 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指令设置的任何到期 date。

    您还可以使用替代语法指定到期 time 计算,如本文档前面所述。

    ExpiresDefault 指令

    描述:计算到期 time 的默认算法
    句法:ExpiresDefault <code>seconds
    Context:server config,virtual host,directory,.htaccess
    覆盖:索引
    状态:延期
    模块:mod_expires

    此指令设置用于计算受影响领域中所有文档的到期 time 的默认算法。可以通过ExpiresByType指令在 type-by-type 基础上覆盖它。有关参数语法的详细信息,请参阅该指令的说明,以及替代语法说明。

    上篇:mod_example_hooks

    下篇:mod_ext_filter