美文网首页
关于 HTTP 响应头部字段 X-Cache-Akamai

关于 HTTP 响应头部字段 X-Cache-Akamai

作者: 华山令狐冲 | 来源:发表于2023-07-28 09:58 被阅读0次

笔者的一套适合 SAP UI5 开发人员循序渐进的学习教程里介绍了 SAP UI5 应用的开发步骤,运行这些应用后,在 Chrome 开发者工具 Network 面板里观察到一个请求的 Response Header 字段名称为 X-Cache-Akamai,值为 head,这代表 Akamai 内容分发网络(Content Delivery Network,CDN)的缓存状态信息。

本文详细解释这个 HTTP 头部字段的含义,并通过举例来说明。

  1. Akamai 内容分发网络(CDN)简介:
    Akamai 是一家全球领先的 CDN 提供商,它拥有分布在全球各地的服务器网络,用于存储和传送网站的内容。当用户访问启用了 Akamai CDN 的网站时,请求会被转发到距离用户最近的 Akamai 服务器,从而加快内容传输速度,提高网站性能和可靠性。

  2. Response Header 中的 X-Cache-Akamai 字段:
    当网站启用了 Akamai CDN 服务时,Akamai 服务器会在 HTTP 响应头部(Response Header)中添加一个名为 X-Cache-Akamai 的字段,用于提供有关请求的缓存状态的信息。

  3. X-Cache-Akamai 字段的值:
    X-Cache-Akamai 字段的值描述了 Akamai 服务器对于当前请求所采取的缓存处理方式。在你的例子中,字段值为 head,它是 Akamai 使用的一种缓存标记,用于表示此请求的响应头部已被缓存,但响应体尚未被缓存。

举例说明:
假设有一个名为 example.com 的网站启用了 Akamai CDN,并且用户在浏览器中输入网址 "http://example.com" 并访问该网站。

  1. 第一次访问:
  • 用户首次访问该网站,浏览器发送一个请求到 example.com 的服务器。
  • 由于这是用户首次访问,Akamai 服务器尚未缓存该网站的内容。
  • 服务器将响应头部返回给浏览器,并在其中添加 X-Cache-Akamai: miss,表示此请求的响应头部没有被缓存(miss 表示未命中缓存)。
HTTP/1.1 200 OK
Date: Wed, 27 Jul 2023 12:00:00 GMT
Server: Apache
X-Cache-Akamai: miss
  1. 第二次访问:
  • 用户再次访问 "http://example.com"。
  • 此时,Akamai 服务器已经缓存了上一次请求的响应头部。
  • 服务器在响应头部中添加 X-Cache-Akamai: hit,表示此请求的响应头部已经被缓存(hit 表示命中缓存)。
HTTP/1.1 200 OK
Date: Wed, 27 Jul 2023 12:05:00 GMT
Server: Apache
X-Cache-Akamai: hit
  1. 部分内容更新:
  • 现在,"example.com" 网站的某些内容发生了更新,例如首页的一幅图片。
  • 用户再次访问 "http://example.com",浏览器发送请求到 Akamai 服务器。
  • 由于响应头部通常不会频繁变动,Akamai 服务器仍然使用缓存的响应头部,因此仍然返回 X-Cache-Akamai: hit
  • 然而,由于响应体发生了变化,Akamai 服务器将在响应体中返回新的图片内容,并在响应头部中添加 X-Cache-Akamai: fresh,表示响应体是新鲜的,因为它已经被更新。
HTTP/1.1 200 OK
Date: Wed, 27 Jul 2023 12:10:00 GMT
Server: Apache
X-Cache-Akamai: hit
  1. 强制刷新:
  • 用户在浏览器中执行了强制刷新,或者按下了 Ctrl + F5 键,意图跳过缓存,获取最新的内容。
  • 浏览器发送一个带有 Cache-Control: no-cache 请求头的请求到 Akamai 服务器。
  • Akamai 服务器无视缓存,并向 example.com 的源服务器请求最新内容。
  • 服务器返回全新的内容,并在响应头部中添加 X-Cache-Akamai: fresh
GET / HTTP/1.1
Host: example.com
Cache-Control: no-cache

HTTP/1.1 200 OK
Date: Wed, 27 Jul 2023 12:15:00 GMT
Server: Apache
X-Cache-Akamai: fresh

总结

当你在 Chrome 开发者工具的 Network 面板中看到一个请求的 Response Header 字段 X-Cache-Akamai 的值为 head 时,这表示 Akamai CDN 已经缓存了该请求的响应头部,但响应体可能没有被缓存。这个机制允许 Akamai CDN 更有效地处理请求,提高网站性能,并且在必要时通过请求源服务器以获取最新内容。

相关文章

  • HTTP 报头字段列表

    HTTP报头字段 是 HTTP中请求和响应消息的头部部分的组件。他们是定义HTTP事务的操作参数 头部字段在请求行...

  • HTTP 报头字段列表

    HTTP报头字段 是 HTTP中请求和响应消息的头部部分的组件。他们是定义HTTP事务的操作参数 头部字段在请求行...

  • HTTP请求与响应知识总结

    一、 HTTP请求和响应步骤 六、HTTP响应报文 关于请求头部和响应头部的知识点很多,这里只是简单介绍。通过以上...

  • 6. HTTP头部

    6.1 HTTP报文头部 报文头部由几个字段构成 HTTP请求报文 由方法,URI,HTTP版本,HTTP头部字段...

  • http请求中的Content-Type

    http头部字段Content-Type约定请求和响应的HTTP body内容编码类型,客户端和服务端根据http...

  • 修改Nginx缺省banner

    服务器banner是什么 服务器banner主要影响http响应中的头部字段server(http服务器信息)。格...

  • HTTP Content-Type深入实践

    引子 HTTP是一种网络应用层传输协议,协议就是约定。HTTP头部字段Content-Type约定请求和响应的HT...

  • HTTP的进一步了解

    134.谈一下HTTP协议以及协议头部中表示数据类型的字段? HTTP协议的请求和响应报文中包含HTTP首部,HT...

  • Web Server 设置缓存响应字段的一些推荐方案

    前端开发人员的一个常见误区就是,看到下图这种没有附带 cache control 的 HTTP 响应头部字段,就误...

  • HTTP头部信息

    每个HTTP请求和响应都会带有响应的头部信息,XHR对象也提供了操作这两种头部(即请求头部和响应头部)信息方法。默...

网友评论

      本文标题:关于 HTTP 响应头部字段 X-Cache-Akamai

      本文链接:https://www.haomeiwen.com/subject/hmulpdtx.html