Apache:禁用缓存控制:最大年龄?
Apache: Disable Cache-Control: max-age?
一本关于性能的书读到您应该使用 Expires
或 Cache-Control: max-age
但不能同时使用。
Expires
在我的 Apache 上很容易配置。
现在我想禁用不需要的 Cache-Control: max-age
但我不知道如何禁用。
您提到的两个 header 表明您正在使用 mod_expires
。
您不能 select 只有一个 header 使用 mod_expires
。设置 headers in mod_expires.c
的代码无条件地将两个 headers 设置为等效值:
apr_table_mergen(t, "Cache-Control",
apr_psprintf(r->pool, "max-age=%" APR_TIME_T_FMT,
apr_time_sec(expires - r->request_time)));
timestr = apr_palloc(r->pool, APR_RFC822_DATE_LEN);
apr_rfc822_date(timestr, expires);
apr_table_setn(t, "Expires", timestr);
但是,using mod_header
可以让您设置您想要的内容,使用类似:
Header unset Cache-Control
有必要同时使用两者:Cache-Control
比 Expires
允许更精细的控制,而 Expires
可能有助于更老的客户。
一本关于性能的书读到您应该使用 Expires
或 Cache-Control: max-age
但不能同时使用。
Expires
在我的 Apache 上很容易配置。
现在我想禁用不需要的 Cache-Control: max-age
但我不知道如何禁用。
您提到的两个 header 表明您正在使用 mod_expires
。
您不能 select 只有一个 header 使用 mod_expires
。设置 headers in mod_expires.c
的代码无条件地将两个 headers 设置为等效值:
apr_table_mergen(t, "Cache-Control",
apr_psprintf(r->pool, "max-age=%" APR_TIME_T_FMT,
apr_time_sec(expires - r->request_time)));
timestr = apr_palloc(r->pool, APR_RFC822_DATE_LEN);
apr_rfc822_date(timestr, expires);
apr_table_setn(t, "Expires", timestr);
但是,using mod_header
可以让您设置您想要的内容,使用类似:
Header unset Cache-Control
有必要同时使用两者:Cache-Control
比 Expires
允许更精细的控制,而 Expires
可能有助于更老的客户。