当前位置: 首页 > wzjs >正文

日照市做网站花西子网络营销策划方案

日照市做网站,花西子网络营销策划方案,制作华为手机网站建设规划书,网站改版说明强缓存和协商缓存 一、强缓存与协商缓存的区别二、Vue2 前端实现强缓存(静态资源)三、Spring Boot 后端实现协商缓存(动态接口)四、测试缓存效果五、注意事项 一、强缓存与协商缓存的区别 强缓存:浏览器直接读取本地缓…

强缓存和协商缓存

      • 一、强缓存与协商缓存的区别
      • 二、Vue2 前端实现强缓存(静态资源)
      • 三、Spring Boot 后端实现协商缓存(动态接口)
      • 四、测试缓存效果
      • 五、注意事项

一、强缓存与协商缓存的区别

强缓存:浏览器直接读取本地缓存,不发送请求到服务器。通过 Cache-ControlExpires 响应头实现。
协商缓存:浏览器发送请求到服务器,由服务器判断资源是否过期。通过 ETag/If-None-MatchLast-Modified/If-Modified-Since 实现。


二、Vue2 前端实现强缓存(静态资源)

步骤

  1. 打包生成哈希文件名:Vue2 默认在 webpack 配置中为文件名添加 contenthash,如 app.a1b2c3.js
  2. 服务器配置强缓存头:在 Nginx/CDN 中为静态资源设置 Cache-Control: max-age=31536000(1年)。

示例 Nginx 配置

location /static {alias /path/to/static;expires 1y; # 等效于 Cache-Control: max-age=31536000add_header Cache-Control "public";
}

三、Spring Boot 后端实现协商缓存(动态接口)

步骤

  1. 添加 ETag 支持:使用 ShallowEtagHeaderFilter 自动生成 ETag。
  2. 返回带缓存控制的响应:手动设置 Cache-Control 头。

示例代码

import org.springframework.context.annotation.Configuration;
import org.springframework.web.filter.ShallowEtagHeaderFilter;
import org.springframework.http.CacheControl;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.Filter;
import java.util.concurrent.TimeUnit;@Configuration
public class WebConfig {public Filter etagFilter() {return new ShallowEtagHeaderFilter();}
}@RestController
public class ApiController {// 协商缓存示例(自动 ETag)@GetMapping("/user")public ResponseEntity<User> getUser() {User user = userService.findUser();return ResponseEntity.ok().cacheControl(CacheControl.maxAge(30, TimeUnit.MINUTES)) // 建议缓存但需要验证.body(user);}// 强缓存示例(慎用)@GetMapping("/static-data")public ResponseEntity<String> getStaticData() {return ResponseEntity.ok().cacheControl(CacheControl.maxAge(7, TimeUnit.DAYS)) // 强缓存7天.body("Immutable Data");}
}

四、测试缓存效果

  1. 强缓存

    • 首次请求:返回 200 OK,响应头包含 Cache-Control: max-age=31536000
    • 再次请求:浏览器直接读取缓存,状态为 200 (from disk cache)
  2. 协商缓存

    • 首次请求:返回 200 OK,响应头包含 ETag: "a1b2c3"
    • 再次请求:请求头携带 If-None-Match: "a1b2c3",若未修改,服务器返回 304 Not Modified

五、注意事项

  • 前端静态资源:确保文件名哈希变化,避免旧缓存影响新版本。
  • 动态接口:敏感数据避免使用强缓存,优先用 no-cacheprivate
  • 测试工具:使用浏览器开发者工具的 Network 面板检查响应头与缓存状态。

总结:强缓存通过设置长时间 max-age 实现,适用于静态资源;协商缓存通过 ETag/Last-Modified 验证,适用于动态数据。Vue2 利用打包哈希 + 服务器配置,Spring Boot 通过响应头控制实现。

在这里插入图片描述

http://www.dtcms.com/wzjs/126359.html

相关文章:

  • 北京网站设计公司排行榜互联网项目推广平台有哪些
  • 南京高新区建设规划局网站龙泉驿网站seo
  • 金坛市政建设有限公司网站安徽网站推广公司
  • 深圳工信部网站备案网站推广入口
  • 企飞互联网站建设网络公司沧州做网络推广的平台
  • 网站建设的基本流程湖南靠谱关键词优化
  • 什么做直播网站好江苏seo
  • 外行做网站网络销售推广平台
  • 做日租房 网站百度网络小说排行榜
  • 廊坊网站建设外包河南省疫情最新情况
  • 南宁网页设计价格拼多多seo 优化软件
  • 电商网站 app百家号seo怎么做
  • 搜索引擎网站提交入口惠州百度seo哪家好
  • 推荐一个好点的网站2022社会热点事件及看法
  • 泰州网站建设物美价廉福州百度快速优化
  • 书法网站建设一键建站免费
  • 网站建设开发公司酒吧营销用什么软件找客源
  • 陕西省建设监理协会查询官方网站软文广告推广
  • wordpress页面关联到菜单手机优化软件
  • 浙江省住房和城乡建设厅干部学校网站个人网站
  • 外贸网站建设制作百度手机版
  • 有域名 有固定ip怎么做网站百度引擎
  • 北京网站建设培训班运营推广的方式和渠道
  • 变更备案提示 网站主办者冲突五年级下册数学优化设计答案
  • 用vs2012做网站查关键词排名工具app
  • 公安系统网站备案百度后台管理
  • 安网多少钱选择宁波seo优化公司
  • 专门做淘宝客网站b站在线观看人数在哪
  • 专门做淘宝主图的网站网络优化的三个方法
  • 医院网站怎么做运营西安网络推广公司网络推广