代码之家  ›  专栏  ›  技术社区  ›  Warren Parad

缓存控制头是否与https cdn一起工作

  •  1
  • Warren Parad  · 技术社区  · 6 年前

    如果响应的头都是加密的,cdn如何使用缓存控制头缓存https请求的内容?

    cdn是否必须获得显式权限才能解密负载,然后重新加密它?

    在这种情况下, public / private 的值 Cache-Control 头球?(在这种情况下,您必须显式地让cdn访问加密的有效负载?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Chasefornone    6 年前

    cdn就像一个具有缓存功能的反向代理。每个连接都在CDN POP中初始化和终止。如果在缓存中找不到相应的项,则会发出另一个到源的连接以获取数据,并根据用户定义的缓存策略cdn来确定是否缓存该数据。

    就https而言,数据是解密和重新加密的,您需要将ssl证书部署到cdn提供商。所有来自原点的响应都对cdn可见。

    “Cache控件”的值被用作CDN提供程序的提示,以确定它们是否需要缓存该项。

    缓存控制:private表示全部或部分响应 消息是为单个用户准备的,不能由 共享缓存,如代理服务器。

    RFC2616 section 14.9.1

    CDN提供者通常不会将缓存控制头设置为私有的缓存响应,但是您可以用自己的规则覆盖该行为。几乎所有的CDN提供者都允许您自定义缓存策略。