nginx处理静态资源优化

本文详细探讨了如何使用nginx优化静态资源的处理,包括利用浏览器缓存、设置缓存过期时间、高效读取文件、启用sendfile进行高效传输、保持长连接以及对静态资源进行压缩等策略,以提升网站性能。
摘要由CSDN通过智能技术生成

nginx作为静态资源服务器,用于处理静态资源非常的高效

静态资源类型 后缀
html资源 html、css、js
图片文件 jpg、png、gif、jpeg
视频文件 mp3、mp4、avi
文本文件 txt、doc、xml
其他文件 pdf

1.静态资源缓存

1)浏览器缓存

#响应头部
cache-control: max-age=2592000
expires: Thu, 19 Nov 1981 08:52:00 GMT

ETag: "5f3fefc8-2d03"
Last-Modified: Fri, 21 Aug 2020 16:01:12 GMT

#请求头部
If-Modified-Since: Fri, 21 Aug 2020 16:01:12 GMT
If-None-Match: "5f3fefc8-2d03"

2)浏览器读取缓存流程

1.浏览器会先去查看响应头部的cache-control(缓存控制)
2.如果没有到达过期时间,会直接返回缓存中的内容,不需要重新读取服务器
3.如果cache-control设置为 no-cache,浏览器会去读取expires(缓存过期时间)
4.如果没有到达expires过期时间,会直接返回缓存中的内容,不需要重新读取服务器
5.如果cache-control和expires都没有设置
6.浏览器会去查看服务器上面ETag值,如果有浏览器会拿着 If-None-Match 去跟他对比
7.如果ETag与浏览器的 If-None-Match 相同,则走缓存
8.如果ETag与浏览器的 If-None-Match 不相同,浏览器会去查看服务器上面 Last-Modified值
9.如果服务器上有 Last-Modified值,浏览器会拿着If-Modified-Since去跟他对比
10.如果Last-Modified值与浏览器的 If-Modified-Since 相同,则走缓存
11.如果Last-Modified值与浏览器的 If-Modified-Since 不相同,重新去服务器读取数据

#含义
1.cache-control:缓存控制,记录的时文件保留时间
2.expires:缓存时间,记录的是文件的过期时间
3.ETag:服务器上保留的文件唯一标识符
4.If-None-Match:浏览器上保留的文件唯一标识符
5.Last-Modified:服务器上保留的文件最后修改时间
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值