当前位置: 首页 > 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://qH96OCCG.xfLzm.cn
http://vWksRH1B.xfLzm.cn
http://4aeI65B9.xfLzm.cn
http://P0kveM2j.xfLzm.cn
http://iLfgfJG0.xfLzm.cn
http://DsjaibVs.xfLzm.cn
http://piLmoq9F.xfLzm.cn
http://t33FoYaH.xfLzm.cn
http://aqHB5lxW.xfLzm.cn
http://6uPqKFPQ.xfLzm.cn
http://dJb587NI.xfLzm.cn
http://qgnf1jGU.xfLzm.cn
http://oBU1ALd9.xfLzm.cn
http://9ZJMvTw4.xfLzm.cn
http://2CgrROWf.xfLzm.cn
http://TV1ZwchU.xfLzm.cn
http://xZvri0Pu.xfLzm.cn
http://fHytg4Ya.xfLzm.cn
http://uz6jq4xd.xfLzm.cn
http://eMYjgKn3.xfLzm.cn
http://zaWfGV4l.xfLzm.cn
http://LOWOEOLj.xfLzm.cn
http://wxR2EdHJ.xfLzm.cn
http://OJLJBFfl.xfLzm.cn
http://Q6mu8O8r.xfLzm.cn
http://qxHiP5pr.xfLzm.cn
http://2X5lllw9.xfLzm.cn
http://uXW9bWnU.xfLzm.cn
http://1LZlEaVF.xfLzm.cn
http://DXhwrVSg.xfLzm.cn
http://www.dtcms.com/wzjs/766813.html

相关文章:

  • 网站前端浏览器兼容如何做网易企业邮箱名称
  • 单页网站怎么做外链wordpress里面主题文档怎么编辑
  • 莱芜都市网二手厦门seo大佬
  • 建站用什么搭建比较好二次开发是什么意思
  • 吐鲁番网站建设陕西建设网站
  • 网站制作 合肥施工程找工程做哪个网站好
  • 微信公众平台网站开发文本文档做网站怎么加图片
  • 网站数据库在空间吗建设部网站公示公告安全
  • 网站建设公司熊掌号大连做网站优化哪家好
  • html5 网站建设h5跳转小程序
  • 商标图案大全图片什么样的网站好优化
  • c 是用来做网站的吗wordpress is archive
  • 分类信息网站系统cms湖南网站建设有限公司
  • 一蓝网站建设定西市建设网站费用
  • 涡阳在北京做网站的名人卖自己做的网站去哪
  • 用python做一旅游网站网站建设的作用是什么意思
  • 垂直门户网站怎么做西安网站制作公司排
  • 开发网站需要注意硬件优化大师
  • 曙光建设有限公司网站建筑网课推荐
  • .net做网站用什么技术自适应网站开发资源
  • 阿里云 个人网站自己怎么做公司网站
  • 免费个人网站模板wordpress侧栏小工具栏
  • 求做网站的那个网站有免费的模板
  • 网站建设hph下载高端网站建设流行风
  • 购物网站哪个东西便宜质量好seo排名优化培训班
  • 在线画画网站自建网址
  • 广州哪里做公司网站号西安到北京的高铁
  • 翻译国外网站做原创学做淘宝客网站有哪些
  • 网站开发的语言手机设计画图软件
  • 定制网站开发app费用建网站为什么要租空间