Nginx服务器配置指南:ngx_http_headers_module与HTTP Headers

2 下载量 148 浏览量 更新于2024-08-28 收藏 750KB PDF 举报
"本文主要介绍了Nginx服务器中ngx_http_headers_module模块的使用,特别是add_header和expires这两个关键指令,用于管理和控制HTTP响应头中的‘Expires’和‘Cache-Control’字段,从而影响浏览器的缓存策略。" 在Nginx服务器配置中,ngx_http_headers_module模块是一个非常实用的工具,它允许管理员自定义HTTP响应头,以实现更精细的缓存控制和服务器标识。模块提供的两个主要指令是`add_header`和`expires`。 `add_header`指令允许我们向HTTP响应头添加自定义字段。其基本语法是`add_header name value;`,可以在http、server、location或if in location配置段中使用。这个指令非常灵活,例如,你可以设置`add_header From jb51.net;`来指示请求访问的源,或者设置其他任何有效的HTTP头字段。请注意,`add_header`通常会添加到状态码为200、201、204、206、301、302、303、304或307的响应中。 `expires`指令则主要用于控制浏览器的本地缓存策略。它的语法是`expires [modified] time;`,还可以设置为`epoch`、`max`或`off`。当设置一个正或负的时间值时,`Expires`头将基于当前时间与指令指定的时间差进行计算。如果设置为`epoch`,则表示自1970年1月1日的绝对时间;`max`表示`Expires`值为2037年12月31日23:59:59,相当于`Cache-Control`的10年;而`off`则禁止修改响应头中的`Expires`和`Cache-Control`。`Cache-Control`的值可以根据时间值设定,如`no-cache`(负数时间)或`max-age=#`(正数或0,单位为秒)。 以下是一个使用`expires`指令的例子,它将所有.gif、.jpg、.jpeg、.png、.bmp和.swf文件在浏览器中缓存30天: ```nginx location ~.*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } ``` 通过这种方式,Nginx服务器可以有效地管理资源的缓存,提高网站的性能,同时减少服务器负载。理解并正确使用`add_header`和`expires`指令,对于优化Web服务的效率和用户体验至关重要。