CDN 介绍

发布时间: 更新时间: 总字数:1281 阅读时间:3m 作者: IP上海 分享 网址
专栏文章
  1. JWT与SSO的关系
  2. Web性能压力测试工具——Siege详解
  3. HTTP 响应码
  4. Dex 认证介绍与应用
  5. HTTP 性能测试工具 wrk 使用介绍
  6. HTTP API 设计格式
  7. 免费HTTPS证书Let's Encrypt安装教程
  8. Oauth2 Proxy 使用介绍
  9. 多域名(SAN/UCC)生成CSR操作指南
  10. HTTP 相关理论
  11. Casbin 使用介绍
  12. 免费通配符/泛域名SSL证书申请
  13. HTTP 认证介绍
  14. SSL/TLS 原理详解
  15. Let’s Encrypt 私有部署方案
  16. cfssl 证书签发工具使用
  17. CDN 介绍(当前)
  18. Http 性能相关测试工具汇总
  19. GraphQL 介绍
  20. wireshark 抓 HTTPs/TLS 流量包
  21. Http
  22. Http/Https
  23. HTTP Content Security Policy 介绍
  24. HTTP2介绍
  25. Http/Https
  26. Linux/Windows 代理配置
  27. Websocket 介绍
  28. 什么是正向代理、反向代理、透明代理
  29. HTTP Transfer-Encoding详解
  30. X-Forwarded-For 和 X-Real-IP 的区别?
  31. HTTP 缓存策略

CDN(Content Delivery Network内容分发网络)是将源站内容分发至全球的节点,从而缩短用户查看对象的延迟,提高用户访问网站的响应速度与网站的可用性的技术。它能够有效解决网络带宽小、用户访问量大、网点分布不均等问题。

CDN 相关指标

header中的指标代表不同的含义

X-Cache

标识CDN是否命中

  • HIT:命中缓存节点,即在缓存节点可拉取数据,无需回源
  • MISS:未命中缓存节点,需要回源拉取数据

Pragma

Pragma:HTTP1.0 时代的遗留产物,该字段被设置为no-cache时,会告知浏览器禁用本地缓存,即每次都向服务器发送请求

Expires

Expires:HTTP1.0 时代用来启用本地缓存的字段,expires值对应一个形如Thu,31Dec2037 23:55:55GMT的格林威治时间,告诉浏览器缓存实现的时刻,如果还没到该时刻,标明缓存有效,无需发送请求

注意:如果浏览器与服务器的时间差距大,使用 Expires 就会影响缓存结果。

Cache-Control

Cache-Control 是 HTTP1.1 针对 Expires 时间不一致的解决方案,运用Cache-Control告知浏览器缓存过期的时间间隔而不是时刻,即使具体时间不一致,也不影响缓存的管理。

  • no-store:禁止浏览器缓存响应
  • no-cache:不允许直接使用本地缓存,先发起请求和服务器协商
  • max-age=delta-seconds:告知浏览器该响应本地缓存有效的最长期限,以秒为单位

说明:

  • Pragma,Cache-Control,Expires的执行优先级:Pragma > Cache-Control > Expires

ETag

Etag是文件的指纹标识符:HTTP1.1推出,如果文件内容修改,指纹会改变

  • EtagHTTP1.1中提出的,通过在jscssimage响应是添加一个唯一的参数
  • Etag有服务器端生成,随文件的改变而改变,Etags类似于文件的指纹
  • 浏览器通过Etag判断文件是否发生变化

协商缓存相关Header

  • Last-Modified:通知浏览器资源的最后修改时间
  • If-Modified-Since:得到资源的最后修改时间后,会将这个信息通过If-Modified-Since提交到服务器做检查,如果没有修改,返回304状态码
  • If-None-Match:本地缓存失效,会携带此值去请求服务端,服务端判断该资源是否改变,如果没有改变,直接使用本地缓存,返回304

缓存相关返回码:

  • 200 from cache:直接从本地缓存中获取响应,最快速,不产生数据流量
  • 304 Not Modified:协商缓存,浏览器在本地没有命中的情况下,请求头中发送一定的校验数据到服务端,如果服务端数据没有改变浏览器从本地缓存响应,返回304
  • 200 OK:以上两种缓存全都失败,服务器返回完整响应。没有用到缓存,相对最慢。

via

Via 一般报头由代理加入,正向和反向代理,并且可以在请求头和响应标头出现。作用如下:

  • 跟踪消息转发,避免请求循环
  • 识别请求/响应链中发送者的协议

防盗链的工作原理

访问网站来源和nginx中我们的配置做对比:通过Referer或者签名,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。一旦检测到来源不是本站即进行阻止或者返回指定的页面

常用方法

  • 检测Referer
  • 资源签名检测

参考

  1. HTTP缓存策略
  2. Trafficserver 配置与使用
专栏文章
  1. JWT与SSO的关系
  2. Web性能压力测试工具——Siege详解
  3. HTTP 响应码
  4. Dex 认证介绍与应用
  5. HTTP 性能测试工具 wrk 使用介绍
  6. HTTP API 设计格式
  7. 免费HTTPS证书Let's Encrypt安装教程
  8. Oauth2 Proxy 使用介绍
  9. 多域名(SAN/UCC)生成CSR操作指南
  10. HTTP 相关理论
  11. Casbin 使用介绍
  12. 免费通配符/泛域名SSL证书申请
  13. HTTP 认证介绍
  14. SSL/TLS 原理详解
  15. Let’s Encrypt 私有部署方案
  16. cfssl 证书签发工具使用
  17. CDN 介绍(当前)
  18. Http 性能相关测试工具汇总
  19. GraphQL 介绍
  20. wireshark 抓 HTTPs/TLS 流量包
  21. Http
  22. Http/Https
  23. HTTP Content Security Policy 介绍
  24. HTTP2介绍
  25. Http/Https
  26. Linux/Windows 代理配置
  27. Websocket 介绍
  28. 什么是正向代理、反向代理、透明代理
  29. HTTP Transfer-Encoding详解
  30. X-Forwarded-For 和 X-Real-IP 的区别?
  31. HTTP 缓存策略
最新评论
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数