欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

讲解Nginx服务器中设置本地浏览器缓存的简单方法

程序员文章站 2022-12-07 08:26:58
浏览器缓存(browser caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。 nginx可以通过 expires 指令来设置...

浏览器缓存(browser caching) 是为了加速浏览并节约网络资源,浏览器在用户磁盘上对最近请求过的文档进行存储。
nginx可以通过 expires 指令来设置浏览器的header
语法: expires [time|epoch|max|off]
默认值: expires off
作用域: http, server, location
使用本指令可以控制http应答中的“expires”和“cache-control”的头标,(起到控制页面缓存的作用)。
可以在time值中使用正数或负数。“expires”头标的值将通过当前系统时间加上您设定的 time 值来获得。
epoch 指定“expires”的值为 1 january, 1970, 00:00:01 gmt。
max 指定“expires”的值为 31 december 2037 23:59:59 gmt,“cache-control”的值为10年。
-1 指定“expires”的值为 服务器当前时间 -1s,即永远过期

例子:
图片缓存30天

location ~.*\.(jpg|png|jpeg)$
 {
 expires 30d;
 }

js css缓存一小时

location ~.*\.(js|css)?$
 {
 expires 1h;
 }

浏览器缓存的头信息,在nginx里也是可以设置的,如下。

 #配置在server节点下 
 #将favicon.ico放到nginx安装目录的html目录下 
location = /favicon.ico { 
  root html; 
  index index.html index.htm; 
  expires 30d; #会同时设置expires 和 cache-control:max-age 
  add_header pragma pragma; 
 } 

设置完以后,请求通过浏览器查看。
增加了

cache-control:max-age=2592000 
expires:sun, 08 nov 2015 01:07:48 gmt 

缓存生效。

注意事项
调试的时候要注意几个问题:
四类用户行为影响缓存:f5刷新,f5强制刷新,点击刷新,地址栏回车。会让expires失效。