首页 > 其他分享 >【http】http 缓存

【http】http 缓存

时间:2024-04-09 16:30:08浏览次数:21  
标签:缓存 http 协商 刷新 强制 资源

http 缓存

1 关于缓存

什么是缓存?
没有必要重新获取的资源 可以存储

为什么需要缓存?
让页面加载更快,减少网络请求和体积,网络请求不稳定

哪些资源可以缓存?
静态资源(js css img)

2 http 缓存策略(强制缓存+协商缓存)

2.1 http缓存 - 强制缓存

在这里插入图片描述

Cache-Control

  • Response Headers中 服务端返回
  • 控制强制缓存的逻辑
  • 例如 Cache-Control:max-age=3153600单位是秒
    • max-age 过期时间
    • no-cache 不用强制缓存
    • no-store 不用本地缓存 不用服务端缓存

Expires

  • 同在Response Headers 中
  • 同为控制缓存过期
  • 已被 Cache-Control 代替

2.2 http缓存 - 协商缓存

  • 服务器端缓存策略
  • 服务器判断客户端资源,是否和服务端资源一样
  • 一致则返回304,否则返回200和最新的资源

在这里插入图片描述

资源标识

  • 在Response Headers中,有两种
  • last-modified 资源的最后修改时间
  • Etag 资源的唯一标识(一个字符串,类似人类指纹)

last-Modified 和 Etag

  • 优先使用Etag
  • Last-Modified 只能精确到秒级
  • 如果资源被重复生成,而内容不变,则Etag 更精确

2.3 缓存综述

在这里插入图片描述

3 刷新操作方式,对缓存的影响

三种刷新操作

  • 正常操作:地址栏输入url,跳转链接,前进后退等
  • 手动刷新:f5 点击刷新按钮 右侧菜单刷新
  • 强制刷新:ctrl+f5

不同刷新操作,不同的缓存策略

  • 正常操作:强制缓存有效,协商缓存有效
  • 手动刷新:强制缓存失效,协商缓存有效
  • 强制刷新:强制缓存失效,协商缓存失效

标签:缓存,http,协商,刷新,强制,资源
From: https://blog.csdn.net/qq_21087199/article/details/137540837

相关文章

  • xmlhttprequest upload 实现前端上传进度
    elementuiupload代码片段exportdefaultfunctionupload(option){if(typeofXMLHttpRequest==='undefined'){return;}constxhr=newXMLHttpRequest();constaction=option.action;if(xhr.upload){xhr.upload.onprogress=......
  • MyBatis中如果某个查询不希望使用缓存,可以在映射文件中的select语句上设置flushCache=
    <selectid="xmlGetGuaranteeCount"databaseId="sqlserver"resultType="Integer"flushCache="true"><![CDATA[SELECTcount(appisparea.ID)FROMT_APP_ISP_ARE......
  • Android平台下轻量级http网络传输库
    Android平台下轻量级http网络传输库 更新时间:2016年01月15日15:06:36 作者:rohsuton  这篇文章主要介绍了Android平台下轻量级http网络传输库的相关资料,需要的朋友可以参考下 AsyncHttpHelp是一个android平台下基于httpclient开发的HTTP网络请求工具。优点功能......
  • MFC通过Http请求上传文件
    MFC通过Http请求上传文件voidCMFCApplication1Dlg::HttpPostFile(stringurl,CStringfile,stringparamName,stringcontentType){CInternetSessionpSession(_T("ic_PostWav"));//可以随意CHttpConnection*pConnect;CHttpFile*pFile;//通过......
  • Firefox火狐浏览器控制台,提示:已拦截跨源请求:同源策略禁止读取位于 http://127.0.0.1
    前言全局说明Firefox火狐浏览器控制台,提示:已拦截跨源请求一、火狐官方说明https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CORS/Errors/CORSMissingAllowOrigin?utm_source=devtools&utm_medium=firefox-cors-errors&utm_campaign=default二、修改浏览器方法[原文......
  • [网络/HTTPS/Java] PKI公钥基础设施体系:基础概念篇
    0序看过上一篇文章、且有点懵的朋友,可以参看本篇————针对PKI体系的核心概念进行解释。1PKI体系(公开密钥基础设施体系)1.1PKI体系是什么?PKI是PublicKeyInfrastructure的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。PKI的主要......
  • 在GitHub上用HTTP端口使用ssh
    问题:在实现本地仓库与GitHub仓库相关联时出现下图问题尝试了很多方法包括但不限于:更改公私钥密码,更改防火墙,检查仓库UPL等方法但都没有效果解决方法:通过HTTPS端口使用SSH测试有时,防火墙完全拒绝允许SSH连接。如果无法使用带有凭据缓存的HTTPS克隆,则可以尝试使用通过......
  • 【Azure App Service】验证App Service接受HTTP 2.0请求
    问题描述在AppService中启用了HTTP2.0后,如何来验证它可以正常接受HTTP2.0的请求呢?问题解答如果直接使用浏览器访问,无法直接判断出来是否使用HTTP2.0,所以本文中使用.NETConsole代码来测试HTTP2.0.第一步:打开VisualStudio2022,创建一个.NETConsoleApplication第二步......
  • Spring Boot数据缓存之声明式缓存支持
    在SpringBoot数据缓存之Spring缓存抽象@Cacheable初体验对声明式数据缓存有了初步的体验,那么SpringBoot是如何支持数据缓存的呢?由于Mybatis本身也具备缓存的功能,那怎么知道案例中的环境使用的是SpringBoot中提供的还是Mybatis自带的缓存功能呢?将数据访问的方式改为JPA方式......
  • http免费升级https
    背景:首先我们需要了解HTTPS并不是一个全新的协议,而是在HTTP的基础上,通过SSL增加了一层加密协议,从而大大增加了HTTP协议的安全性。HTTPS主要由两部分组成:HTTP(超文本传输协议)+SSL/TLS(安全协议),也就是在HTTP上又加了一层处理加密信息的模块。目录背景:http的概念和......