文档章节

Nginx 手记(六)浏览器缓存

神奇Sam
 神奇Sam
发布于 2017/08/30 14:44
字数 372
阅读 403
收藏 0

一、浏览器缓存

HTTP协议定义的缓存机制(如:Expires;Cache-control等)

1、客户端无缓存

浏览器第一次请求的时候,是没有缓存的,所以会向服务端发起请求获取资源

2、客户端有缓存

浏览器第二次请求的时候,客户端是有缓存的,那么会先在本地校验文件是否过期,如果缓存文件过期,则会请求服务器并进行校验是否修改,如果修改返回新的内容,没修改则会返回304 直接从本地缓存读取,有修改则返回200 并返回新的内容。

二、校验过期机制

1、客户端-校验是否过期:      Expires(1.0版本)、Cache-Control(max-age) (1.1版本)
2、服务端-协议中Etag头信息校验:    Etag(字符串)
3、服务端-Last-Modified头信息校验: Last-Modified(文件修改时间)。不能精准到1s内修改的判断,需要Etag解决

三、配置

在server中的location进行配置

#匹配js和css文件,并设置缓存过期时间为24小时
location ~ .*\.(js|css)$ {
    expires 24; #设置缓存时间为24小时
    #...
}
浏览器控制可以查看相应信息

Response Headers
view source
Accept-Ranges:bytes
Cache-Control:max-age=86400     #nginx中设置的24小时缓存时间
Connection:keep-alive
Content-Length:2543
Content-Type:application/javascript
Date:Mon, 28 Aug 2017 18:21:08 GMT
ETag:"599be4bb-9ef"
Expires:Tue, 29 Aug 2017 18:21:08 GMT
Last-Modified:Tue, 22 Aug 2017 08:00:59 GMT
Server:nginx/1.12.1

© 著作权归作者所有

共有 人打赏支持
神奇Sam
粉丝 22
博文 41
码字总数 27998
作品 0
广州
程序员
《Python自动化运维开发实战》课程配套手记内容列表

自动化实战课程的手记内容手记列表 各位同学,《Python自动化运维开发实战》实战课中的配套手记内容列表如下,供大家参考学习,已经出的手记将参考大家的实际情况进行补充,其他的配套课程整...

幕客技术
01/12
0
0
Multi-Stage Build多阶段Build Docker镜像

我们在上一篇手记 中给大家介绍了如何完全使用Docker搭建Angular开发和测试环境,今天我们接着这个话题给大家看看如果通过Docker部署Angular项目。 我们先看看假如没有Docker,我们一般怎么去...

麦兜搞IT
05/29
0
0
Varnish调优手记

最近公司做活动推广,流量暴增,后端服务器压力山大,导致用户的请求响应时间延长,客户因此抱怨声音很大。   为尽快解决问题,在安排人员不断优化后端代码的同时,考虑在nginx前增加varni...

nmshuishui
2014/05/07
0
0
trafficserver 缓存时间未到,显示MISS

trafficserver 缓存时间未到,显示MISS 贵贵的博客2016-08-2639 阅读 缓存时间 贵贵的博客 ( http://blog.linuxphp.org/ ) : 案例一、 最近发现js/css文件无规律的TCPIMSMISS/200导致内容被刷...

贵贵的博客
2016/08/26
0
0
ubuntu下nginx安装手记

Nginx是一个高性能的HTTP和反向代理服务器. Nginx 使用 Unix 下常用的 './configure && make && make install' 过程来编译安装. configure 脚本确定系统所具有一些特性,特别是 nginx 用来处...

mfcai
2013/01/03
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
13分钟前
1
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
25分钟前
0
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
35分钟前
1
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
46分钟前
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部