栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何生成和配置ETag?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何生成和配置ETag?

与HTTP规范的大多数方面一样,最终的责任在于提供资源的人。

当然,通常使用我们的工具(服务器,负载平衡器,应用程序框架等)来帮助我们履行这些职责。但是,没有任何规范定义期望与应用程序相对应的“
Web服务器”提供的内容,这只是您所使用的工具中可用功能的实际问题。

现在,

ETags
特别看一下,一种常见情况是可以将框架或Web服务器配置为自动对响应(主体或其他内容)进行哈希处理并将结果放入中
ETag
。然后,根据条件请求,它将生成响应并将其哈希以查看其是否已更改,如果没有,则自动发送条件响应。

举两个我熟悉的例子,nginx可以在Web服务器级别使用静态文件来执行此操作,而Django可以在应用程序级别通过动态响应来执行此操作。

这种方法很常见,易于配置,并且效果很好。但是,在某些情况下,它可能不是最适合您的用例的。例如:

  • 要计算散列以与传入的散列进行比较,
    ETag
    您首先必须有一个响应。因此,尽管条件响应可以为您节省 发送 响应的开销,但不能节省 生成 响应的成本。因此,如果生成响应的成本很高,并且您有其他来源
    ETags
    (例如,存储在数据库中的版本号),则可以使用它来获得更好的性能。
  • 如果你打算使用
    ETags
    ,以防止意外覆盖具有状态改变的方法,你可能需要添加自己的应用程序代码,以使您的比较和组逻辑原子。

因此,在某些情况下,您可能想

ETags
在应用程序级别创建您的应用程序。再次以Django为例,它提供了一种简单的方法来提供自己的计算功能
ETags

总之,提供

ETags
您所控制的资源最终是您的责任,但是您很可能能够利用软件堆栈中的工具为您完成这些工作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号