Prerequisite: The ngx_http_headers_module module needs to be compiled to support header information operations
add_header
means adding custom headers Information is added to the response header. The command is add_header name value [always];, which can be used in http {}, server {}, location {}, if in location {} context.
Only when the response status code is equal to 200 , 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), or 308 (1.13.0). If the always parameter is specified, the header information will Ignore status codes and force return in all responses.
Note: You can declare multiple add_header instructions. If and only if the current block does not have an add_header, the add_header information declared by the superior will be inherited.
For example:
server { add_header a 123; location / { root /path; } location /download/ { add_header b 321; } }
In the above example, when accessing the /download/ route, header information such as b 321 will be returned, and when accessing the / route, the a 123 header information specified by the superior will be returned.
add_trailer
means to add customized header information to the end of the response header. The command is add_trailer name value [always];, which can be used in http {}, server {}, location {}, if in location {} context, only takes effect when the response status code is equal to 200, 201, 206, 301, 302, 303, 307, or 308, if the always parameter is specified , the header information will ignore the status code and be forced to be returned in all responses.
Note: Multiple add_trailer instructions can be declared. If and only if the current block does not have an add_trailer, the add_trailer information declared by the superior will be inherited.
For examples, refer to the add_header example.
expires
Enable or disable, add or modify the "expires" and "cache-control" fields in the response header, the command is expires [modified] time; or expires epoch | max | off; when the response status code is equal to 200, 201 (1.3.10), 204, 206, 301, 302, 303, 304, 307 (1.1.16, 1.0.13), or 308 ( 1.13.0), the time parameter can be positive or negative time. The time in the "expires" field is calculated as the sum of the current time and the time specified in time. If the modified parameter (0.7.0,0.6.32) is used, the time is calculated as the sum of the file modification time and the time specified in the time directive.
In addition, the time of day can be specified using the "@" prefix (0.7.9, 0.6.34): expires @15h30m;
The content of the "cache-control" field depends on the specified The symbol of time:
The time is a negative number - "cache-control: no-cache"
The time is a positive number or 0 - "cache -control: max-age=t" t is the time specified in the command, in seconds
epoch parameter sets "expires" to the value "thu, 01 jan 1970 00: 00:01 gmt", set "cache-control" to "no-cache".
The max parameter sets "expires" to the value "thu, 31 dec 2037 23:55:55 gmt" and "cache-control" to 10 years. The
off parameter disables adding or modifying the "expires" and "cache-control" response header fields.
The last parameter value can contain variables (1.7.9): For example:
map $sent_http_content_type $expires { default off; application/pdf 42d; ~image/ max; } expires $expires;
The above is the detailed content of How to implement Nginx operation response header information. For more information, please follow other related articles on the PHP Chinese website!