模块 ngx_http_headers_module
Example Configuration Directives add_header add_trailer expires |
该ngx_http_headers_module
模块允许将“Expires”和“Cache-Control”标头字段以及任意字段添加到响应标头。
配置示例
expires 24h; expires modified +24h; expires @24h; expires 0; expires -1; expires epoch; expires $expires; add_header Cache-Control private;
指令
句法: |
add_header
|
---|---|
默认: | — |
语境: |
http , server , location ,if in location |
将指定字段添加到响应标头,前提是响应代码等于 200、201 (1.3.10)、204、206、301、302、303、304、307 (1.1.16、1.0.13) 或 308 (1.13) .0)。参数值可以包含变量。
可能有多个add_header
指令。当且仅当当前级别上没有add_header
定义任何指令时,这些指令才会从先前的配置级别继承。
如果always
指定了该参数(1.7.5),则无论响应代码如何,都会添加标头字段。
句法: |
add_trailer
|
---|---|
默认: | — |
语境: |
http , server , location ,if in location |
该指令出现在版本 1.13.2 中。
将指定字段添加到响应的末尾,前提是响应代码等于 200、201、206、301、302、303、307 或 308。参数值可以包含变量。
可能有多个add_trailer
指令。当且仅当当前级别上没有add_trailer
定义任何指令时,这些指令才会从先前的配置级别继承。
如果always
指定了参数,则无论响应代码如何,都将添加指定字段。
句法: |
expires [ expires
|
---|---|
默认: |
expires off; |
语境: |
http , server , location ,if in location |
启用或禁用添加或修改“Expires”和“Cache-Control”响应标头字段,前提是响应代码等于 200、201 (1.3.10)、204、206、301、302、303、304、307 (1.1.1.1)。 16、1.0.13) 或 308 (1.13.0)。该参数可以是正时间或负 时间。
“Expires”字段中的时间计算为当前时间的总和并time
在指令中指定。如果modified
使用该参数(0.7.0、0.6.32),则时间将计算为文件的修改时间与time
指令中指定的时间之和。
此外,还可以使用“ @
”前缀(0.7.9、0.6.34)指定一天中的某个时间:
expires @15h30m;
“Cache-Control”字段的内容取决于指定时间的符号:
- 时间为负数——“缓存控制:无缓存”。
-
time 为正数或零 — “Cache-Control: max-age=
t
”,其中t
是指令中指定的时间(以秒为单位)。
该epoch
参数将“Expires”设置为值“ Thu, 01 Jan 1970 00:00:01 GMT
”,将“Cache-Control”设置为“ no-cache
”。
该max
参数将“Expires”设置为值“ Thu, 31 Dec 2037 23:55:55 GMT
”,并将“Cache-Control”设置为 10 年。
该off
参数禁止添加或修改“Expires”和“Cache-Control”响应头字段。
最后一个参数值可以包含变量(1.7.9):
map $sent_http_content_type $expires { default off; application/pdf 42d; ~image/ max; } expires $expires;