当前位置:网站首页>HTTP cache, forced cache, negotiated cache
HTTP cache, forced cache, negotiated cache
2022-07-06 07:33:00 【Let the code fly 1926】
What is caching ?
When the browser loads a web page , You need to load some resources ,html,css,js,img..., All requests are required for the first time , When the second time , The third time I visited this page , In fact, you can not send the request repeatedly , You can use http Cache policy , Make the web page load faster .
Mandatory cache
The browser sends a request to the server , The server should return to the client resource , But the client wants to cache these resources , You need to set the response header cache-control:max-age=31536000, In this way, the browser will cache resources , Check it the next time you ask max-age Has it expired , If it doesn't expire , Just take resources directly , If it's out of date , Just send a request , If you don't use caching, use no-cache
Negotiate the cache
Using negotiation cache , The browser makes a request for the first time , The server will return resources and resources identification , Then put the resources locally , At the next request , Send the request together with the resource ID to the server , The server determines the ID sent and the latest resource ID on the server , If it's the latest , The server returns 304 Status code , Get resources directly from the cache , If it's not the latest , Just go back to 200 Status code and the latest resource and resource identification
Resource identification :
There are two kinds of , One is last-Modified: Last modification time of resource , It's only accurate to seconds , The key name when sending the request is :if-Modified-Since
One is ETag: The unique string corresponding to the resource , The key name when sending the request is :if-None-Match, priority of use ETag
边栏推荐
- 【MySQL学习笔记32】mvcc
- If Jerry needs to send a large package, he needs to modify the MTU on the mobile terminal [article]
- CF1036C Classy Numbers 题解
- Ble of Jerry [chapter]
- Crawling exercise: Notice of crawling Henan Agricultural University
- JMeter performance test steps practical tutorial
- word中把帶有某個符號的行全部選中,更改為標題
- How can word delete English only and keep Chinese or delete Chinese and keep English
- If Jerry's Bluetooth device wants to send data to the mobile phone, the mobile phone needs to open the notify channel first [article]
- Résumé de la structure du modèle synthétisable
猜你喜欢

Mise en œuvre du langage leecode - C - 15. Somme des trois chiffres - - - - - idées à améliorer
![[computer skills]](/img/30/2a4506adf72eb4cb188dd64cce417d.jpg)
[computer skills]

Week6 weekly report

Simulation of Teman green interferometer based on MATLAB

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接口与泛型的使用

Go learning --- use reflection to judge whether the value is valid

C - Inheritance - polymorphism - virtual function member (lower)

JDBC learning notes

opencv学习笔记八--答题卡识别
随机推荐
(4) Web security | penetration testing | network security web site source code and related analysis
TypeScript void 基础类型
Mise en œuvre du langage leecode - C - 15. Somme des trois chiffres - - - - - idées à améliorer
Simulation of Teman green interferometer based on MATLAB
Relevant introduction of clip image
数字经济时代,如何保障安全?
How MySQL merges data
软件测试界的三无简历,企业拿什么来招聘你,石沉大海的简历
多线程和并发编程(二)
超级浏览器是指纹浏览器吗?怎样选择一款好的超级浏览器?
TypeScript 函数定义
JDBC learning notes
C - Inheritance - polymorphism - virtual function member (lower)
OpenJudge NOI 2.1 1661:Bomb Game
可变参数重载时的内存错误
Simulation of holographic interferogram and phase reconstruction of Fourier transform based on MATLAB
jmeter性能测试步骤实战教程
[online problem processing] how to kill the corresponding process when the MySQL table deadlock is caused by the code
Multi attribute object detection on rare aircraft data sets: experimental process using yolov5
Introduction to the basics of network security