首先强缓存的权重大于协商缓存,当强缓存存在时,协商缓存只能看着;其次 HTTP/1.1 中的缓存标识符大于 HTTP/1;所以当 Cache-Control 存在时,看它的,如果它不存在,则看 Expires,如果将强缓存设置为 Cache-Control:no-cache、Cache-Control:max-age=0、pragma: no-cache,即告诉浏览器不走强缓存,则进入协商缓存。
前情提要 前端缓存分为下面三大类,本文主要讲解HTTP缓存~ 1. HTTP缓存 强缓存 协商缓存 2. 浏览器缓存 本地小容量缓存 本地大容量缓存 3. 应用程序缓存 HTML5应用程序缓存 缓存作用 减少了冗余的数据传输 减少服务器的负担 提高了网站的性能 加快加载网页速度 什么是 HTTP
Exprires的值为服务端返回的数据到期时间。当再次请求时的请求时间小于返回的此时间,则直接使用缓存数据。但由于服务端时间和客户端时间可能有误差,这也将导致缓存命中的误差,另一方面,Expires是HTTP1.0的产物,故现在大多数使用Cache-Control替代。Cache-Control Cache-Control有很多属性,不同的属性代表的意义也不...
浏览器缓存:现代 Web 浏览器会自动缓存资源,包括页面、脚本、样式表和图像等。 代理服务器缓存:代理服务器可以缓存经过它的请求和响应,以减少对源服务器的访问。 缓存机制在 HTTP 协议中起着重要的作用,可以显著提高 Web 应用程序的性能和响应速度。开发者应该合理利用缓存机制,并根据资源的特性和业务需求来设置适当...
HTTP 缓存分为 2 种,一种是强缓存,另一种是协商缓存。主要作用是可以加快资源获取速度,提升用户体验,减少网络传输,缓解服务端的压力。这是缓存运作的一个整体流程图: 强缓存 不需要发送请求到服务端,直接读取浏览器本地缓存,在 Chrome 的 Network 中显示的 HTTP 状态码是 200 ,在 Chrome 中,强缓存又分为 Di...
HTTP缓存是指在客户端(如浏览器)或者代理服务器中存储HTTP响应数据的过程。当客户端再次请求相同资源时,如果缓存中存在该资源且未过期,客户端可以直接从缓存中读取资源,而无需再次向服务器发起请求。这样可以减少网络请求次数,提高系统响应速度,降低网络负载。 缓存通常包含两个基本部分:缓存数据和缓存控制信息。缓存数据...
Http缓存是解决http1.1协议性能问题的一个主要手段。缓存即有可能存在于浏览器中,也可能存在于服务器中。 Http缓存的主要原理是为当前请求复用之前请求的响应,其主要目标是降低时延、降低带宽的消耗。 Http缓存的基本交互流程 下图以4个Case说明Browser向Server获取a.png这个资源的几种Cache交互场景。
HTTP缓存策略 实例 一、协商缓存 Last-Modified\ Etag 与 If-Modified-Since/If-None-Match 定义 ETag(实体标签): 用于标识Web服务器上资源的版本。每个资源被请求时,服务器会生成一个对应的ETag,客户端可以保存这个ETag值。当客户端再次请求该资源时,可以将上次获取的ETag值通过If-None-Match头部信息发送给服务器...
Http 缓存机制作为 web 性能优化的重要手段,对于从事 Web 开发的同学们来说,应该是知识体系库中的一个基础环节,同时对于有志成为前端架构师的同学来说是必备的知识技能。 但是对于很多前端同学来说,仅仅只是知道浏览器会对请求的静态文件进行缓存,但是为什么被缓存,缓存是怎样生效的,却并不是很清楚。
HTTP 缓存机制是一种在 Web 开发中常用的技术,它旨在提高性能和减少网络流量。通过缓存,可以避免不必要的网络请求,减少服务器负载,并加快页面加载速度。下面是关于 HTTP 缓存机制的详细介绍。 HTTP 缓存机制的基本原理是将 Web 资源(如 HTML、CSS、JavaScript、图像等)保存在客户端或中间代理服务器上,以便在后续请求...