浏览器缓存

简介: HTTP缓存依赖Cache-Control和ETag实现。Cache-Control通过public、private、no-cache等指令控制缓存范围与行为,max-age、s-maxage设置缓存时长,must-revalidate控制过期验证;ETag为资源生成唯一标识,客户端通过If-None-Match比对,判断是否返回304,节省带宽,提升性能。

Note
Http 的缓存主要利用 header 里的Cache-control 和 ETag
1.Cache-control
1.1 Cache-control主要字段
● public
○ 指HTTP请求返回的资源在所经过的所有路径包括一些中间代理服务器以及发出这个请求的客户端浏览器都可以进行缓存
● private
○ 代表发起请求的浏览器才可以进行缓存
● no-cache
○ 指可以存缓存,但是每次使用都需要去服务端验证
● no-store
○ 本地和代理服务器都不允许去缓存
● no-transform
○ 不允许代理/缓存服务器转换文件格式
1.1.1 到期
● max-age=
○ 缓存到期时间
● s-maxage=
○ 代理服务器专用
● max-stale=
○ 指示客户机可以使用超出max-age时间的响应
1.1.2 重新验证
● must-revalidate
○ 设置了max-age的资源过期后必须到源服务端验证资源是否还可用
● proxy-revalidate
○ (缓存服务器用)设置了max-age的资源过期后必须到源服务端验证资源是否还可用
1.2 Etag
1.2.1 ETag资源标识码
即用来进行对比缓存,Etag 是服务端资源的一个标识码
当客户端发送第一次请求时服务端会下发当前请求资源的标识码 Etag,下次再请求时,客户端则会通过 header 里的 If-None-Match 将这个标识码 Etag 带上,服务端将客户端传来的 Etag 与最新的资源 Etag 做对比,如果一样,则表示资源没有更新,返回 304。

相关文章
|
JavaScript Android开发
Spring-boot-devTools无效解决办法,idea中devtools不起作用
Spring-boot-devTools无效解决办法,idea中devtools不起作用
1988 0
|
Java Docker 容器
Docker 安装 JDK
一、查看 JDK 版本 访问 JDK 镜像库地址:https://hub.docker.com/_/openjdk/tags。 可以通过 Tags 查看其他版本的 JDK,默认是最新版本 open:idk ,你也可以在下拉列表中找到其他你想要的版本。 二、拉取 JDK 镜像 拉取 jdk8 的镜像: docker pull openjdk:8 这将从Docker Hub上拉取名为"openjdk"的官方仓库中的JDK 8镜像。一旦拉取完成,您就可以在容器中使用JDK 8了。 三、查看已下载的镜像 使用docker images命令可以列出所有本地已下载的Docker镜像: docker ima
6357 1
|
10月前
|
人工智能 弹性计算 缓存
2026年阿里云服务器优惠力度大吗?阿里云特价服务器测评及对比
2026年阿里云服务器优惠力度大吗?阿里云特价服务器测评及对比:2026年国内主流云厂商都有特价云服务器,核心集中在新用户秒杀、新老同享低价、企业专属特惠三类活动,其中阿里云以“入门款直降90%+续费同价+长周期折扣”的组合,在稳定性与性价比上形成均衡优势,整体优惠力度处于第一梯队,适合个人、中小企业与AI团队长期使用。下面用大白话讲清主流活动、阿里云优惠力度与对比,帮你判断是否适配需求。
732 3
|
7月前
|
人工智能 自然语言处理 安全
阿里云百炼Token Plan是什么?阿里云Token Plan套餐详解、模型支持与主流AI工具接入流程
在AI开发与日常使用不断普及的背景下,开发者、创作者与团队用户普遍面临大模型使用成本不可控、多模型切换繁琐、API密钥分散管理、账单不透明等问题。传统按量付费模式容易出现超额支出,多平台模型接入则大幅提升使用复杂度。为解决这类痛点,阿里云百炼正式推出Token Plan团队版,以包月订阅制搭配统一Credits积分体系,为用户提供可预期预算、多模型统一调用、工具无缝兼容的AI使用方案,让个人与团队都能稳定、高效、安全地使用主流大模型服务。
1126 2
|
9月前
|
开发者 UED
开发者必看:HTTP 2xx 响应码的正确理解与运用
HTTP 2xx状态码表示请求成功,涵盖200(成功)、201(已创建)、202(已接受)、204(无内容)和206(部分内容)五类。开发者需准确识别以优化调试与用户体验。
2789 10
|
SQL JSON Java
告别拼接噩梦:Java文本块让多行字符串更优雅
告别拼接噩梦:Java文本块让多行字符串更优雅
1120 82
|
Linux iOS开发 MacOS
DeepSeek爆火,如何免费部署到你的电脑上?获取顶级推理能力教程来了
如何在本地电脑上免费部署DeepSeek,获取顶级推理能力?只需三步:1. 访问Ollama官网下载并安装对应操作系统的版本(支持macOS、Linux和Windows)。2. 打开Ollama并确保其正常运行。3. 在Ollama官网搜索并选择DeepSeek模型(如deepseek-r1),根据电脑配置选择合适的模型大小(1.5B至671B)。通过终端命令(如ollama run deepseek-r1:1.5b)运行模型,即可开始使用DeepSeek进行推理。退出模型时,在终端输入/bye。更多详情请参考Ollama官方文档。
|
JSON JavaScript 前端开发
js如何格式化一个JSON对象?
js如何格式化一个JSON对象?
834 3
|
自然语言处理 前端开发 Java
API管理平台:你用的到底是哪个?
本文介绍了多个API管理和文档工具,包括Apifox、Swagger及其增强版Knife4j和RapiDoc、阿里RAP、去哪儿YApi以及Redoc。这些工具各有特色,适用于不同的开发场景。Apifox提供一体化协作平台,支持API文档、调试、Mock和测试;Swagger结合Knife4j适合Java与前端团队,界面美观且功能丰富;YApi则适用于跨语言开发,支持多种API形式的管理;阿里RAP专注于接口文档管理和Mock服务;Redoc则是开源的现代化API文档浏览器。总结而言,选择工具应根据团队需求和技术栈来决定。
5778 16