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

前端【详解】缓存

HTTP 缓存

https://blog.csdn.net/weixin_41192489/article/details/136446539

CDN 缓存

CDN 全称 Content Delivery Network,即内容分发网络。

用户在浏览网站的时候,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求

CDN边缘节点的缓存机制与HTTP 缓存相同,可减少 CDN 边缘节点对源服务器的请求。

当浏览器向CDN节点请求数据时,CDN节点会判断缓存数据是否过期,若缓存数据并没有过期,则直接将缓存数据返回给客户端;否则,CDN节点就会向服务器发出回源请求,从服务器拉取最新数据,更新本地缓存,并将最新数据返回给客户端。

DNS 缓存

DNS 全称 Domain Name System , 即域名系统。

通过域名,最终得到该域名对应的IP地址的过程叫做域名解析

www.zuofc.com (域名) - DNS解析 -> 111.222.33.444 (IP地址)

浏览器、操作系统、Local DNS、根域名服务器,都会对DNS结果做一定程度的缓存。

DNS 查询的过程

  1. 首先搜索浏览器自身的DNS缓存, 如果存在,则域名解析到此完成。
  2. 如果浏览器自身的缓存里面没有找到对应的条目,那么会尝试读取操作系统的 hosts文件看是否存在对应的映射关系, 如果存在,则域名解析到此完成。
  3. 如果本地 hosts文件不存在映射关系,则查找本地DNS服务器(ISP服务器,或者自己手动设置的DNS服务器),如果存在,域名到此解析完成。
  4. 如果本地DNS服务器还没找到的话,它就会向根服务器发出请求,进行递归查询。

各种缓存的对比

存储位置存储内容
HTTP 缓存客户端浏览器的内存 / 硬盘js,图片,css 等
CDN 缓存CDN 边缘节点的内存 / 硬盘静态资源为主
DNS 缓存浏览器 / hosts文件 / 本地DNS服务器映射关系

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • vue打包更新packge.json版本号
  • 【区块链+食品安全】湖南省食品行业联合会:溯链中国—基于区块链的食品安全可信追溯平台 | FISCO BCOS应用案例
  • DC-4靶机
  • Shell编程基础:从简单脚本到复杂任务自动化
  • 介质套检测方案,如何提升检测效率?
  • C语言程序设计之内存溢出
  • superset定制化配置修改总结
  • AI安全-文生图
  • Python酷库之旅-第三方库Pandas(081)
  • 《编程学习笔记之道:构建知识宝库的秘诀》
  • Mocha测试框架:JavaScript自动化测试的瑞士军刀
  • 【教程】Ubuntu给pycharm添加侧边栏快捷方式
  • 如何在 Odoo 16 会计中向发票添加付款二维码
  • Tkinter教程
  • 微信支付流程
  • 【笔记】你不知道的JS读书笔记——Promise
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • 10个最佳ES6特性 ES7与ES8的特性
  • Bytom交易说明(账户管理模式)
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Iterator 和 for...of 循环
  • JAVA 学习IO流
  • js正则,这点儿就够用了
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • mockjs让前端开发独立于后端
  • Otto开发初探——微服务依赖管理新利器
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • Quartz初级教程
  • React组件设计模式(一)
  • spring-boot List转Page
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • Vue2.0 实现互斥
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 驱动程序原理
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 微服务核心架构梳理
  • 一个SAP顾问在美国的这些年
  • 用 Swift 编写面向协议的视图
  • 在weex里面使用chart图表
  • - 转 Ext2.0 form使用实例
  • hi-nginx-1.3.4编译安装
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Spring-boot高级
  • (2015)JS ES6 必知的十个 特性
  • (3) cmake编译多个cpp文件
  • (4)Elastix图像配准:3D图像
  • (k8s中)docker netty OOM问题记录
  • (leetcode学习)236. 二叉树的最近公共祖先
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (算法)前K大的和