http缓存中的etag是怎么生成的?

新手上路,请多包涵

今天面试的时候被问到,看了网上的一些博客,有说是通过hash算法,但说的不是很清楚,没懂hash算法怎么去生成这个etag呢?望大神解答!

阅读 3.4k
2 个回答

你是不懂 hash 算法呢,还是不懂 etag 原理呢?

hash 算法的作用是,只有当内容改变的时候才 hash 值才会改变,正好可以作为 etag 值用于缓存。

你管他是什么 Hash 算法呢?

只要是 Hash 算法,就有一个共性,就是内容有一点点变化,哈希值就会有巨大改变。

至于 WebServer 采用哪种 Hash 算法,随便,Apache 跟 nginx 算法就不一样,反正又不需要让客户端知道,客户端只需知道哈希值变没变就行了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题