nginx实战2---浏览器设置缓存

对常见格式的图片文件等在浏览器本地缓存,对于css,js等文件在浏览器本地缓存.

语法:expires [time|epoch|max|off

默认值:off

expires指令控制HTTP应答中的“Expires”和“Cache-Control”Header头部信息,启动控制页面缓存的作用

time参数---》time:可以使用正数或负数

“Expires”头标的值将通过当前系统时间加上设定time值来设定。

epoch:--->epoch:指定“Expires”的值为 1January,1970,00:00:01 GMT

max:------>max:指定“Expires”的值为31December2037 23:59:59GMT,""Cache-Control"的值为10年。-1:指定“Expires”的值为当前服务器时间减去1s,即永远过期。

off:--------->off:不修改“Expires”和"Cache-Control"的值

Cache-Control是用max-age指令指定组件被缓存多久。(在浏览器header头部有)

负数参数:表示Cache-Control:no-cache

整数或者零:表示Cache-Control:max-age=‘ ‘为您设定的时间秒数。

另外:

如果不想让代理或浏览器缓存,加no-cache参数或private参数:
# expires 1d;
add_header Cache-Control no-cache;
add_header Cache-Control private;

如何查看,如何验证:可以通过访问别人的网站,看看别人有没有做缓存

当我访问一个网站的时候,看状态码全是200

点击开查看关键参数:

第二次去访问:

变成了304

查看:

这时返回的状态码是304,而在请求中比第一次多了If-Modified-Since头,和原始服务器中的Last-Modified制作比较,所以实现浏览器缓存并判断是否过期。

简单的说,Last-Modified 与If-Modified-Since 都是用于记录页面最后修改时间的 HTTP 头信息,

只是Last-Modified 是由服务器往客户端发送的 HTTP 头,

而 If-Modified-Since则是由客户端往服务器发送的头,

可以看到,再次请求本地存在的 cache 页面时,客户端会通过 If-Modified-Since头将先前服务器端发过来的 Last-Modified最后修改时间戳发送回去,这是为了让服务器端进行验证,通过这个时间戳判断客户端的页面是否是最新的,如果不是最新的,则返回新的内容,

如果是最新的,则返回304告诉客户端其本地cache的页面是最新的,

于是客户端就可以直接从本地加载页面了,这样在网络上传输的数据就会大大减少,同时也减轻了服务器的负担。

简单配置如下:

 1 知识写了location
 2 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
 3         {
 4                 expires      30d;
 5                 access_log off;
 6         }
 7
 8         location ~ .*\.(js|css)$
 9         {
10                 expires      12h;
11                 access_log off;
12         }

参考:http://www.jb51.net/article/33213.htm

时间: 2024-11-03 18:36:02

nginx实战2---浏览器设置缓存的相关文章

nginx静态文件不设置缓存

找到nginx安装目录下的nginx.conf文件,再nginx里面添加如下的内容 location / { add_header Cache-Control no-cache; add_header Pragma no-cache; add_header Expires 0; } 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/11348149.html

Nginx设置浏览器本地缓存

浏览器本地缓存,就是当浏览器加载了某个网页时,可以把网页的某些内容缓存在本地,再次浏览时会加载本地的内容,这样能够大大提高对网站的访问速度.对于服务器端来说,这样也会大大节约网络资源. 浏览器缓存依靠expires指令输出Header头来实现: 语法:expires [time|epoch|max|off]    默认值:expires off    作用域:http,server,location 使用本指令可以控制HTTP应答中的"Expires"和"Cache-Cont

大型分布式项目项目实战Springmvc+Spring+Mybatis+Maven+CMS+Redis+Solr+Linux+Nginx+单点登录、分布式缓存、负载均衡视频课程

* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展.高性能.高并发.性能优化.Spring boot.Redis.ActiveMQ.Nginx.Mycat.Netty.Jvm大型分布 式项目实战视频教程 视频课程包含: 高级Java架构师包含:Spring boot.Spring  cloud.Dubbo.Redis.ActiveMQ.Nginx.Mycat

浏览器本地缓存

Nginx浏览器本地缓存设置 浏览器缓存,是为了加速浏览 浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器自动从本地磁盘显示文档,这样可以加速页面浏览 浏览器缓存通过 expires 指令输出 Header 头来实现 语法:expires [time|epoch|max|off] 默认值:expires off 作用域:http.server.location 使用举例: 对 js.css本地缓存一小时,对图片本地缓存30天 location ~ .*\.(js|

nginx 实战笔记

一.nginx 的优势: 1.内置的健康检测功能,即使后台服务器宏基也不会影响前台的影响 2.支持gzip 3.稳定性高,nginx作为反向代理服务器,宏基的概率很小 4.支持热部署 二.nginx 的压缩输出配置: 1. gzip是一种压缩技术,经过gzip压缩后页面大小可以变为原来的30% 或这更小,这样 用户浏览页面的时候速度会快得多.gzip的压缩页面需要浏览器和服务器双方都支持,实际上服务器端压缩,传到浏览器后浏览器解压并解析,这样就减少了带宽,速度就上去了 三.nginx 虚拟主机的

nginx js和jpg图片缓存

nginx js和jpg图片缓存设置 listen       80; server_name  xxxxx; index index.htm index.html; root  /to/path/; location ~ .*\.(js|css)?$ { expires 5d; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; valid_referers none blocked www.xxxx *.xxxxxx; if

nginx配置、反向代理缓存、负载均衡

一.nginx基本配置nginx开启文件目录浏览功能(web上显示目录) 1location / { 2 root /data/www/file //指定实际目录绝对路径: 3 autoindex on; //开启目录浏览功能: 4 autoindex_exact_size off; //关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b: 5 autoindex_localtime on; //开启以服务器本地时区显示文件修改日期! 6}php-fpm配置 1 location ~

浅谈浏览器的缓存机制

浏览器的缓存可分为HTTP缓存和离线缓存,下面将分别介绍 HTTP缓存 只有GET请求能被缓存,POST不能被缓存.Modified Time/ETag/Expires/Cache都是HTTP协议的缓存策略 先来一个例子 当我们第二次访问百度首页,在Chrome的Network面板中打开一个静态文件时会发现响应的status是:200 OK (from disk cache),不是应该返回304 Not Modified吗?如果你知道答案,那就可以忽略本文了. Cache-Control 简介

Nginx/tengine做cache时缓存机制—存不存、存多久、用不用方法论(图自画)

Nginx/tengine(后面名称只写nginx了)单纯做cache性能比不过ats,特别是在磁盘处理方面,不过论综合能力nginx就是大拿了,他集web服务器.负载均衡.cache三种能力于一身,可以说是非常综合性的选手.比如说一个中型网站的场景选型,前端是负载,后端托着一堆apache服务器,现在该到前端负载选型的了,虽然lvs和ha单纯从负载的性能要比nginx好一些,但我还是会选nginx,因为nginx在做负载的同时,可以将热点的静态内容cache一遍,做一次加速,无形间减轻了后端w