当前位置:网站首页>http缓存,强制缓存,协商缓存
http缓存,强制缓存,协商缓存
2022-07-06 07:25:00 【让代码飞1926】
什么是缓存?
浏览器加载网页的时候,需要加载一些资源,html,css,js,img...,第一次需要全部请求,当第二次,第三次访问这个网页的时候,其实可以不要重复发送请求,就可以使用到http缓存策略,使得网页加载速度变快。
强制缓存
浏览器向服务端发送请求,服务器要返回给客户端资源,但是客户端想把这些资源缓存起来,就需要设置响应头cache-control:max-age=31536000,这样浏览器就会把资源缓存起来,下次请求的时候就检查max-age有没有过期,如果没过期,就直接拿资源,如果过期了,就发请求,如果不使用缓存就使用no-cache
协商缓存
使用协商缓存的话,浏览器第一次发起请求,服务器会返回资源和资源标识,然后把资源放在本地,在下一次请求的时候,发送请求和资源标识一起给服务器,服务器来判断发过来的标识和服务器上的最新资源标识,如果是最新的,服务器就返回304状态码,直接从缓存里面拿资源,如果不是最新的,就返回200状态码和最新的资源和资源标识
资源标识:
有两种,一种是last-Modified:资源上一次修改时间,只能精确到秒,发送请求的时候带的键名是:if-Modified-Since
一种是ETag:资源对应的唯一字符串,发送请求的时候带的键名是:if-None-Match,优先使用ETag
边栏推荐
- 杰理之普通透传测试---做数传搭配 APP 通信【篇】
- 成为优秀的TS体操高手 之 TS 类型体操前置知识储备
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Typescript void base type
- Memory error during variable parameter overload
- [MySQL learning notes 32] mvcc
- [online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
- 杰理之BLE【篇】
- MVVM of WPF
- Games101 Lesson 7 shading 1 Notes
猜你喜欢
Week6 weekly report
Typescript interface and the use of generics
QT color is converted to string and uint
智能终端设备加密防护的意义和措施
Relevant introduction of clip image
Go learning -- implementing generics based on reflection and empty interfaces
navicat如何导入MySQL脚本
SSM learning
Summary of Digital IC design written examination questions (I)
杰理之如若需要大包发送,需要手机端修改 MTU【篇】
随机推荐
杰理之AD 系列 MIDI 功能说明【篇】
剪映的相关介绍
Résumé de la structure du modèle synthétisable
Win10 64 bit Mitsubishi PLC software appears oleaut32 DLL access denied
Bugku CTF daily question: do you want seeds? Blackmailed
Openjudge noi 2.1 1749: Digital Square
jmeter性能测试步骤实战教程
Yield method of tread
Solution to the problem of breakthrough in OWASP juice shop shooting range
可变参数重载时的内存错误
[MySQL learning notes 29] trigger
Full Score composition generator: living on code
navicat如何导入MySQL脚本
2022年Instagram运营小技巧简单讲解
[online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
OpenJudge NOI 2.1 1661:Bomb Game
Methods for JS object to obtain attributes (. And [] methods)
Typescript void base type
Sélectionnez toutes les lignes avec un symbole dans Word et changez - les en titre
Leecode-c language implementation -15 Sum of three ----- ideas to be improved