描述: | 符合RFC 2616的HTTP缓存过滤器。 |
---|---|
状态: | 延期 |
模块标识符: | cache_module |
源文件: | mod_cache.c |
CacheQuickHandler
伪指令的默认值是on时,将绕过Allow
and Deny
伪指令。您不应为希望通过客户端主机名,地址或环境变量限制访问的任何内容启用快速处理程序缓存。mod_cache
实现符合
RFC 2616的HTTP内容缓存过滤器,并支持缓存包含Vary标头的内容协商响应。
符合RFC 2616的缓存提供了一种机制,可以验证陈旧或过期的内容是否仍然新鲜,并且当原始服务器通过遵守 If-None-Match HTTP请求标头来支持条件请求时,可以显着提高性能。仅当内容已更改时才从头重新生成内容,而不是在缓存的条目过期时不重新生成内容。
作为过滤器,mod_cache
可以放置在任何处理程序来源的内容的前面,包括平面文件(由高速磁盘上缓存的慢速磁盘提供),CGI脚本或动态内容生成器的输出或由另一台服务器代理的内容。
在默认配置中,mod_cache
将高速缓存过滤器尽可能远地插入过滤器堆栈中,利用快速处理程序在将内容返回给客户端时绕过每个请求处理。在这种操作模式下,mod_cache
可以将其视为在Web服务器本身中运行时连接到Web服务器前端的缓存代理服务器。
使用CacheQuickHandler
指令关闭快速处理程序时
,可以将CACHE过滤器插入管理员选择的过滤器堆栈中的某个点。这提供了在内容由mod_include
过滤器个性化或可选地由mod_deflate
过滤器压缩
之前缓存内容的机会
。
在正常操作下,mod_cache
将响应并可以由
客户端在请求中或响应中的服务器发送的
Cache-Control
和
Pragma标头控制。在特殊情况下,
mod_cache
可以配置为覆盖这些标头并强制执行特定于站点的行为,但是,这种行为将仅限于此缓存,并且不会影响客户端和服务器之间可能存在的其他缓存的操作,因此除非绝对必要,否则不建议使用。
RFC 2616允许高速缓存在从源服务器刷新现有的过时条目时返回过时的数据,并且mod_cache
当CacheLock
适当配置了伪指令时将
支持此功能。这样的响应将包含
带有110响应代码的
Warning HTTP标头。当尝试刷新陈旧数据的尝试返回错误500或更高时,RFC 2616还允许缓存返回陈旧数据,并且默认情况下支持此行为
mod_cache
。此类响应将包含
带有111响应代码的
Warning HTTP标头。
mod_cache
需要一个或多个存储管理模块的服务。基本的Apache发行版中包含以下存储管理模块:
mod_cache_disk
htcacheclean
提供该工具的目的是列出缓存的URL,删除缓存的URL或将磁盘缓存的大小保持在大小和inode限制之内。mod_cache_socache
《缓存指南》中提供了更多详细信息,讨论和示例 。
相关模块 | 相关指令 |
---|---|
# # Sample Cache Configuration # LoadModule cache_module modules/mod_cache.so <IfModule mod_cache.c> LoadModule cache_disk_module modules/mod_cache_disk.so <IfModule mod_cache_disk.c> CacheRoot "c:/cacheroot" CacheEnable disk "/" CacheDirLevels 5 CacheDirLength 3 </IfModule> # When acting as a proxy, don't cache the list of security updates CacheDisable "http://security.update.server/update-list/" </IfModule>
当缓存的条目变得陈旧时,mod_cache
将向后端提交条件请求,以确认后端是否仍然是最新的,如果不是,则发送更新的实体。
从缓存的实体变为陈旧的时间到陈旧的实体被完全刷新的时间之间,存在少量但有限的时间。在繁忙的服务器上,请求的显著数量可能会在这段时间内抵达,并引起惊群请求的突然和不可预知撞击后端。
为了避免雷声大浪,该CacheLock
指令可用于定义目录,在该目录中为飞行中的 URL创建锁。该锁被
其他请求用作提示,以抑制尝试进行缓存的尝试(其他人已经获取了该实体),或者指示正在刷新陈旧的条目(同时将返回陈旧的内容)。
首次缓存实体时,将为该实体创建锁,直到响应已完全缓存。在锁定的生存期内,缓存将禁止第二次及以后尝试缓存同一实体。虽然这并不能阻止雷声群,但是它确实停止了尝试同时多次缓存同一实体的缓存。
当实体达到其新鲜度生命周期并过时时,将为该实体创建一个锁,直到确认响应仍为新鲜或由后端替换为止。在锁的有效期内,第二个及随后的传入请求将导致过时的数据被返回,而雷电群则被拒之门外。
锁定仅用作提示,以使后端服务器上的缓存更加平缓,但是可以在必要时覆盖该锁定。如果客户端发送带有Cache-Control标头的请求以强制重新加载,则可能存在的任何锁都将被忽略,并且客户端的请求将被立即接受并且缓存的条目将刷新。
作为进一步的安全机制,锁具有可配置的最大使用寿命。达到该年龄后,将删除该锁,并为新请求提供创建新锁的机会。可以使用CacheLockMaxAge
伪指令设置此最大期限,默认为5秒。
# # Enable the cache lock # <IfModule mod_cache.c> CacheLock on CacheLockPath "/tmp/mod_cache-lock" CacheLockMaxAge 5 </IfModule>
在默认的缓存操作模式下,缓存作为快速处理程序运行,使大多数服务器处理短路,并提供最高的缓存性能。
在这种模式下,缓存用螺栓固定在服务器的前端,就像在服务器的前端放置了独立的RFC 2616缓存代理一样。
尽管此模式提供最佳性能,但管理员可能会发现,在某些情况下,他们可能希望在缓存请求后对请求进行进一步处理,例如将个性化内容注入缓存的页面,或对内容应用授权限制。在这种情况下,管理员通常被迫在缓存服务器的后面或前面放置独立的反向代理服务器,以实现此目的。
为了解决此问题,CacheQuickHandler
可以将伪指令设置为off,服务器将处理非缓存请求通常处理的所有阶段,包括
身份验证和授权阶段。
另外,管理员可以通过将CACHE过滤器添加到输出过滤器链中,来选择在过滤器链中要进行缓存 的精确点。
例如,要在对响应进行压缩之前缓存内容,请将CACHE过滤器放在DEFLATE 过滤器之前,如下例所示:
# Cache content before optional compression CacheQuickHandler off AddOutputFilterByType CACHE;DEFLATE text/plain
另一种选择是在mod_include
(或其他内容处理过滤器)应用个性化设置之前先缓存内容。在此示例中,包含被理解的标签的模板
mod_include
在被解析之前被缓存:
# Cache content before mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
您可以将CACHE过滤器放置在过滤器链中所需的任何位置。在此示例中,内容在被解析之后mod_include
但在被处理之前被
缓存
mod_deflate
:
# Cache content between mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType INCLUDES;CACHE;DEFLATE text/html
mod_cache
无法为您执行此操作。一旦mod_cache
决定了是否要从缓存中提供实体,就将决定的详细原因写入到缓存状态键下的请求内的子流程环境中
。LogFormat
指令可以记录此原因
,如下所示:
LogFormat "%{cache-status}e ..."
根据所做的缓存决策,还将根据以下四个关键之一将原因写入子流程环境:
这使得可以根据以下示例支持对缓存的请求进行条件日志记录:
CustomLog "cached-requests.log" common env=cache-hit CustomLog "uncached-requests.log" common env=cache-miss CustomLog "revalidated-requests.log" common env=cache-revalidate CustomLog "invalidated-requests.log" common env=cache-invalidate
对于模块作者,可以使用一个名为cache_status的钩子,该钩子允许模块以自定义方式响应上述缓存结果。
描述: | 未指定有效日期时的默认文档缓存时间。 |
---|---|
句法: | CacheDefaultExpire seconds |
默认: | CacheDefaultExpire 3600 (one hour) |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
该CacheDefaultExpire
指令指定了默认时间(以秒为单位),如果文档没有提供到期日期或最后修改日期,则该默认时间以秒为单位。用CacheMaxExpire
伪指令指定的值不会覆盖此设置。
CacheDefaultExpire 86400
描述: | 将X-Cache-Detail标头添加到响应。 |
---|---|
句法: | CacheDetailHeader on|off |
默认: | CacheDetailHeader off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
兼容性: | 在Apache 2.3.9和更高版本中可用 |
当该CacheDetailHeader
指令打开时,X-Cache-Detail标头将添加到响应中,其中包含特定缓存决策的详细原因。
在开发缓存的RESTful服务期间,将有关缓存决策的其他信息写入响应标头可能很有用,以确认Cache-Control
服务和客户端是否正确使用了其他标头。
如果使用普通处理程序,则该指令可能出现在
<Directory>
或
<Location>
指令内。如果使用快速处理程序,则此伪指令必须出现在服务器或虚拟主机上下文中,否则设置将被忽略。
# Enable the X-Cache-Detail header CacheDetailHeader on
X-Cache-Detail: "conditional cache hit: entity refreshed" from localhost
描述: | 禁用指定URL的缓存 |
---|---|
句法: | CacheDisable url-string | on |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
该CacheDisable
指令指示
mod_cache
到不等于或低于缓存的URL
网址字符串。
CacheDisable "/local_files"
如果在<Location>
指令中使用,则需要在位置下方指定路径,或者如果使用单词“ on”,则将禁用整个位置的缓存。
<Location "/foo"> CacheDisable on </Location>
该no-cache
环境变量可以设置禁用缓存在2.2.12及以后的版本更细粒度的资源集合。
描述: | 使用指定的存储管理器启用指定URL的缓存 |
---|---|
句法: | CacheEnable cache_type [url-string] |
内容: | 服务器配置,虚拟主机,目录 |
状态: | 延期 |
模块: | mod_cache |
兼容性: | URL字符串“ /”应用于在2.2及更早版本中转发代理内容。 |
该CacheEnable
指令指示
mod_cache
将url缓存在url-string或以下
。高速缓存存储管理器由cache_type参数指定
。该CacheEnable
指令可以替代地放置在
<Location>
或
<LocationMatch>
部分中,以指示内容是可缓存的。
cache_type disk
指示
mod_cache
使用由实现的基于磁盘的存储管理器mod_cache_disk
。cache_type
socache
指示mod_cache
使用由实现的基于共享对象缓存的存储管理器
mod_cache_socache
。
如果不同CacheEnable
指令之间的URL空间重叠
(如下例所示),则每个可能的存储管理器都将运行,直到第一个实际处理请求的存储管理器为止。存储管理器的运行顺序由CacheEnable
配置文件中指令的顺序确定。CacheEnable
内的指令<Location>
或
<LocationMatch>
部分全局定义之前处理CacheEnable
的指令。
充当转发代理服务器时,url-string必须至少以应启用缓存的协议开头。
# Cache content (normal handler only) CacheQuickHandler off <Location "/foo"> CacheEnable disk </Location> # Cache regex (normal handler only) CacheQuickHandler off <LocationMatch "foo$"> CacheEnable disk </LocationMatch> # Cache all but forward proxy url's (normal or quick handler) CacheEnable disk / # Cache FTP-proxied url's (normal or quick handler) CacheEnable disk ftp:// # Cache forward proxy content from www.example.org (normal or quick handler) CacheEnable disk http://www.example.org/
以“ *”开头的主机名将匹配所有带有该后缀的主机名。主机名以“。”开头。匹配包含后面域组件的所有主机名。
# Match www.example.org, and fooexample.org CacheEnable disk "http://*example.org/" # Match www.example.org, but not fooexample.org CacheEnable disk "http://.example.org/"
该no-cache
环境变量可以设置禁用缓存在2.2.12及以后的版本更细粒度的资源集合。
描述: | 将X-Cache标头添加到响应中。 |
---|---|
句法: | CacheHeader on|off |
默认: | CacheHeader off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
兼容性: | 在Apache 2.3.9和更高版本中可用 |
当该CacheHeader
指令打开时,X-Cache标头将添加到响应中,并带有该响应的缓存状态。如果使用普通处理程序,则该指令可能出现在<Directory>
或<Location>
指令内。如果使用快速处理程序,则此伪指令必须出现在服务器或虚拟主机上下文中,否则设置将被忽略。
# Enable the X-Cache header CacheHeader on
X-Cache: HIT from localhost
描述: | 忽略不向客户端提供缓存内容的请求 |
---|---|
句法: | CacheIgnoreCacheControl On|Off |
默认: | CacheIgnoreCacheControl Off |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
通常,包含Cache-Control: no-cache
或Pragma:no-cache标头值的请求将不会从缓存中提供。该
CacheIgnoreCacheControl
指令允许覆盖此行为。 CacheIgnoreCacheControl On
告诉服务器即使请求包含无缓存头值,也尝试从缓存中提供资源。需要授权的资源将永远不会被缓存。
CacheIgnoreCacheControl On
描述: | 不要将给定的HTTP标头存储在缓存中。 |
---|---|
句法: | CacheIgnoreHeaders header-string [header-string] ... |
默认: | CacheIgnoreHeaders None |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
根据RFC 2616,逐跳HTTP标头不存储在缓存中。以下HTTP标头是逐跳标头,因此无论设置为什么,在任何情况下都不会将其存储在缓存中CacheIgnoreHeaders
:
Connection
Keep-Alive
Proxy-Authenticate
Proxy-Authorization
TE
Trailers
Transfer-Encoding
Upgrade
CacheIgnoreHeaders
指定不应存储在缓存中的其他HTTP标头。例如,在某些情况下,防止cookie被存储在缓存中是有意义的。
CacheIgnoreHeaders
采用空格分隔的HTTP标头列表,这些标头不应存储在缓存中。如果不应仅将逐跳标头存储在缓存中(符合RFC 2616的行为),CacheIgnoreHeaders
则可以设置为
None
。
CacheIgnoreHeaders Set-Cookie
CacheIgnoreHeaders None
Expires
由于CacheIgnoreHeaders
设置而没有存储正确的缓存管理所需的
标题,则未定义mod_cache的行为。
描述: | 忽略响应没有Last Modified标头的事实。 |
---|---|
句法: | CacheIgnoreNoLastMod On|Off |
默认: | CacheIgnoreNoLastMod Off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
通常,不缓存没有最后修改日期的文档。在某些情况下,上次修改的日期会被删除(mod_include
例如在
处理过程中)或根本不提供。该CacheIgnoreNoLastMod
指令提供了一种方法,可以指定没有上次修改日期的文档也应考虑进行缓存,即使没有上次修改日期也是如此。如果文档未提供最后修改日期和有效日期,则该CacheDefaultExpire
指令指定的值
将用于生成有效日期。
CacheIgnoreNoLastMod On
描述: | 缓存时忽略查询字符串 |
---|---|
句法: | CacheIgnoreQueryString On|Off |
默认: | CacheIgnoreQueryString Off |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
通常,具有查询字符串参数的请求将分别为每个唯一查询字符串缓存。仅当指定了到期时间时,才根据RFC 2616 / 13.9执行此操作。该
CacheIgnoreQueryString
指令告诉缓存,即使未指定过期时间,也缓存请求,即使查询字符串不同,也以缓存的回复进行回复。从缓存的角度来看,启用此伪指令后,将请求视为没有查询字符串。
CacheIgnoreQueryString On
描述: | 缓存时忽略URL中编码的定义的会话标识符 |
---|---|
句法: | CacheIgnoreURLSessionIdentifiers identifier [identifier] ... |
默认: | CacheIgnoreURLSessionIdentifiers None |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
有时,应用程序会将会话标识符编码为URL,如以下示例所示:
/someapplication/image.gif;jsessionid=123456789
/someapplication/image.gif?PHPSESSIONID=12345678
这导致可缓存资源针对每个会话分别存储,这通常是不希望的。CacheIgnoreURLSessionIdentifiers
让我们定义一个标识符列表,该标识符从用于标识缓存中实体的键中删除,这样可缓存资源就不会为每个会话单独存储。
CacheIgnoreURLSessionIdentifiers None
清除忽略的标识符列表。否则,每个标识符将添加到列表中。
CacheIgnoreURLSessionIdentifiers jsessionid
CacheIgnoreURLSessionIdentifiers None
描述: | 覆盖反向代理缓存键的基本URL。 |
---|---|
句法: | CacheKeyBaseURL URL |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
兼容性: | 在Apache 2.3.9和更高版本中可用 |
当CacheKeyBaseURL
指定的指令,所提供的URL将被用作基本URL以计算反向代理配置高速缓存密钥的URL。如果未指定,则使用当前虚拟主机的方案,主机名和端口来构造缓存键。如果存在计算机集群,并且所有缓存的条目都应缓存在同一缓存键下,则可以使用此伪指令指定新的基本URL。
# Override the base URL of the cache key. CacheKeyBaseURL "http://www.example.com/"
描述: | 用于基于LastModified日期计算到期日期的因子。 |
---|---|
句法: | CacheLastModifiedFactor float |
默认: | CacheLastModifiedFactor 0.1 |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
如果文档未提供有效期但提供了最后修改日期,则可以基于自上次修改文档以来的时间来计算有效期。该
CacheLastModifiedFactor
伪指令根据以下公式指定要在该到期日期的生成中使用的
因子:
例如,如果文档最后一次修改是在10小时前,并且
因子为0.1,则到期期限将设置为10 * 0.1 = 1小时。如果当前时间是3:00 pm,则计算的到期日期将是3:00 pm + 1hour = 4:00 pm。如果到期期限比设置的期限长
,则后者优先。expiry-period = time-since-last-modified-date * factor
expiry-date = current-date + expiry-period
CacheMaxExpire
CacheLastModifiedFactor 0.5
描述: | 启用防雷群锁。 |
---|---|
句法: | CacheLock on|off |
默认: | CacheLock off |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
兼容性: | 在Apache 2.2.15及更高版本中可用 |
该CacheLock
指令为给定的URL空间启用雷电追赶锁。
在最低配置中,以下指令是启用默认系统临时目录中的雷电追赶者锁所需要的全部。
# Enable cache lock CacheLock on
描述: | 设置高速缓存锁定的最大可能期限。 |
---|---|
句法: | CacheLockMaxAge integer |
默认: | CacheLockMaxAge 5 |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
该CacheLockMaxAge
伪指令指定任何高速缓存锁的最长期限。
超过此值(以秒为单位)的锁定将被忽略,并且下一个传入的请求将有机会重新建立该锁定。此机制可防止慢速客户端花费过多时间来刷新实体。
描述: | 设置锁定路径目录。 |
---|---|
句法: | CacheLockPath directory |
默认: | CacheLockPath /tmp/mod_cache-lock |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
该CacheLockPath
指令允许您指定在其中创建锁的目录。默认情况下,使用系统的临时文件夹。锁由空文件组成,这些空文件仅在飞行中的过时URL中存在,因此与传统的磁盘缓存相比,资源占用量明显减少。
描述: | 缓存文档的最长时间(以秒为单位) |
---|---|
句法: | CacheMaxExpire seconds |
默认: | CacheMaxExpire 86400 (one day) |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
该CacheMaxExpire
指令指定在不检查源服务器的情况下保留可缓存HTTP文档的最大秒数。因此,文档最多将过时此秒数。即使随文档提供了有效期,也会强制执行此最大值。
CacheMaxExpire 604800
描述: | 缓存文档的最短时间(以秒为单位) |
---|---|
句法: | CacheMinExpire seconds |
默认: | CacheMinExpire 0 |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
该CacheMinExpire
指令指定不检查源服务器而保留可缓存HTTP文档的最小秒数。仅当文档没有提供有效的到期时间时才使用此选项。
CacheMinExpire 3600
描述: | 从快速处理程序运行缓存。 |
---|---|
句法: | CacheQuickHandler on|off |
默认: | CacheQuickHandler on |
内容: | 服务器配置,虚拟主机 |
状态: | 延期 |
模块: | mod_cache |
兼容性: | Apache HTTP Server 2.3.3及更高版本 |
该CacheQuickHandler
指令控制在高速缓存处理的阶段。
在默认启用的配置中,缓存在快速处理程序阶段内运行。此阶段使大多数服务器处理短路,并代表典型服务器的最高性能操作模式。缓存用螺栓固定在服务器的前端,避免了大多数服务器处理。
禁用后,缓存将作为常规处理程序运行,并且在处理服务器请求时会受整个阶段的约束。尽管此模式比默认模式慢,但它允许在需要完全处理的情况下(例如,内容受授权时)使用缓存。
# Run cache as a normal handler CacheQuickHandler off
禁用快速处理程序后,管理员还可以通过将CACHE过滤器添加到过滤器链中,在过滤器链中选择要执行缓存的确切位置。
# Cache content before mod_include and mod_deflate CacheQuickHandler off AddOutputFilterByType CACHE;INCLUDES;DEFLATE text/html
如果多次指定CACHE过滤器,则将应用最后一个实例。
描述: | 提供过时的内容来代替5xx响应。 |
---|---|
句法: | CacheStaleOnError on|off |
默认: | CacheStaleOnError on |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
兼容性: | 在Apache 2.3.9和更高版本中可用 |
当该CacheStaleOnError
指令打开时,并且当缓存中有过期数据时,缓存将通过返回过期数据而不是5xx响应来响应来自后端的5xx响应。尽管将尊重客户端发送的Cache-Control标头,并且原始5xx响应应请求返回给客户端,但如此返回给客户端的5xx响应不会使缓存中的内容无效。
# Serve stale data on error. CacheStaleOnError on
描述: | 尝试缓存服务器报告为过期的响应 |
---|---|
句法: | CacheStoreExpired On|Off |
默认: | CacheStoreExpired Off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
从httpd 2.2.4开始,已经过期的响应不会存储在缓存中。该CacheStoreExpired
指令允许覆盖此行为。
CacheStoreExpired
开启告诉服务器尝试缓存资源(如果陈旧)。后续请求将触发原始服务器的If-Modified-Since请求,并且如果后端资源未更改,则可以从缓存中满足响应。
CacheStoreExpired On
描述: | 尝试缓存已标记为“无存储”的请求或响应。 |
---|---|
句法: | CacheStoreNoStore On|Off |
默认: | CacheStoreNoStore Off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
通常,带有Cache-Control: no-store
标头值的请求或响应不会存储在缓存中。该
CacheStoreNoStore
指令允许覆盖此行为。 CacheStoreNoStore
On指示服务器尝试缓存资源,即使该资源包含无存储标头值也是如此。需要授权的资源将
永远不会被缓存。
CacheStoreNoStore On
描述: | 尝试缓存服务器已标记为私有的响应 |
---|---|
句法: | CacheStorePrivate On|Off |
默认: | CacheStorePrivate Off |
内容: | 服务器配置,虚拟主机,目录,.htaccess |
状态: | 延期 |
模块: | mod_cache |
通常,带有Cache-Control: private
标头值的响应不会存储在缓存中。该CacheStorePrivate
指令允许覆盖此行为。
CacheStorePrivate
On指示服务器尝试缓存资源,即使该资源包含私有标头值也是如此。需要授权的资源将
永远不会被缓存。
CacheStorePrivate On