gpt4 book ai didi

performance - 缓存和 HTTP/2

转载 作者:行者123 更新时间:2023-12-05 00:50:57 25 4
gpt4 key购买 nike

我在一个运行 HTTP/2 的站点上,我实现了以下缓存设置:

cache-control:max-age=604800, private
etag:W/"115-54e8a25e7b187"
expires:Fri, 14 Jul 2017 11:39:45 GMT
last-modified:Tue, 02 May 2017 13:02:11 GMT
关于这个设置的一些问题:
  • cache-control 和 expires 在不同的时间间隔内不是问题吗?
  • etag 和 last-modified 不是多余的吗?
  • 如果使用 HTTP/2,在缓存性能方面还有什么应该做的吗?
  • 最佳答案

    回答您的问题:

  • 不,这不是问题。如果同时指定了 Expiries,则 Cache-control 优先于 Expiries 使用。大多数情况下,Web 服务器将它们设置为具有等效值。
  • ETag 和 Last-Modified 都用于条件响应,优先使用 ETag(类似于 Cache-Control 和 Expiries)。 Last-Modified 的好处是它更易于人类阅读,尽管 ETags 允许在日期以外的其他内容上更灵活地定义它。尽管 Etags 的某些实现存在问题(我不建议将它们用于 Apache 服务器,例如我在此处描述的: https://www.tunetheweb.com/performance/http-performance-headers/etag/ )。
  • HTTP/2 在缓存方面没有任何改变,因此使用与 HTTP/1 相同的 header 和控件。它还有许多其他性能优势。然而,服务器推送带来了关于如何只推送不在缓存中的资源的有趣问题(使用缓存摘要或某种基于 cookie 的系统来告诉服务器客户端已经缓存了什么)。但是使用上面提到的 HTTP header 进行缓存的基础保持不变。
  • 关于performance - 缓存和 HTTP/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45057119/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com