娄底市网站建设_网站建设公司_后端开发_seo优化
2025/12/25 20:26:29 网站建设 项目流程

http缓存

HTTP 缓存是客户端(浏览器)或中间服务器(如 CDN)将服务器返回的资源(图片、CSS、JS、HTML 等)临时存储的机制。下次再请求相同资源时,不用重新从服务器下载,直接使用缓存的资源,从而减少网络请求、加快页面加载速度。
二、缓存的核心作用
提升加载速度:缓存资源本地读取,速度比网络传输快几十倍;
节省网络流量:减少重复下载,用户省流量,服务器省带宽;
减轻服务器压力:服务器不用重复处理相同请求,降低负载;
优化离线体验:部分缓存资源可在断网时访问(比如静态页面)。
三、常见缓存相关头信息

  1. 响应头(服务器控制缓存)
    Cache-Control:最核心的缓存指令,比如max-age=3600(缓存 1 小时)、no-cache(需验证缓存有效性)、no-store(不缓存任何资源);
    Expires:指定缓存过期时间(绝对时间),比如Expires: Wed, 26 Oct 2025 13:55:21 GMT,优先级低于Cache-Control;
    ETag:资源的唯一标识(类似文件指纹),资源变化时ETag会变,用于验证缓存是否有效;
    Last-Modified:资源最后修改时间,和ETag作用类似,用于协商缓存。
  2. 请求头(客户端验证缓存)
    If-None-Match:携带上次获取的ETag,服务器对比后,若资源未变返回 304(使用缓存);
    If-Modified-Since:携带上次的Last-Modified时间,服务器判断资源是否更新。
    四、缓存的两种类型
  3. 强缓存(直接使用缓存,不发请求)
    触发条件:服务器返回Cache-Control: max-age=xxx或Expires;
    流程:客户端第一次请求→服务器返回资源 + 缓存指令→客户端缓存资源;下次请求时,若缓存未过期,直接使用缓存,不向服务器发请求;
    优点:速度最快,零网络开销;
    缺点:缓存过期前无法获取最新资源(需手动刷新页面)。
  4. 协商缓存(发请求验证缓存,有效则用缓存)
    触发条件:强缓存过期,或资源设置了no-cache;
    流程:客户端第一次请求→服务器返回资源 +ETag/Last-Modified;下次请求时,客户端携带If-None-Match/If-Modified-Since→服务器验证资源是否变化:
    未变化:返回 304 Not Modified,客户端使用缓存;
    已变化:返回 200 OK + 新资源,客户端更新缓存;
    优点:确保资源是最新的,同时减少数据传输;
    缺点:需发请求验证,比强缓存慢一点。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询