etag生成原理
应该是每个系统的生成原理都有一些不一样
nginx 中 etag 由响应头的 Last-Modified 与 Content-Length 表示为十六进制组合而成。
以Apache为例,ETag生成靠以下几种因子
文件的i-node编号,此i-node非彼iNode。是Linux/Unix用来识别文件的编号。是的,识别文件用的不是文件名。使用命令’ls –I’可以看到。
文件最后修改时间
文件大小
生成Etag的时候,可以使用其中一种或几种因子,使用抗碰撞散列函数来生成。所以,理论上ETag也是会重复的,只是概率小到可以忽略。
分布式系统里多台机器间文件的last-modified必须保持一致,以免负载均衡到不同机器导致比对失败
分布式系统尽量关闭掉Etag(每台机器生成的etag都会不一样)
PS:是根据一些博客和面试经验 汇总的,欢迎指正
————————————————
版权声明:本文为CSDN博主「ALKEN ABBY」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45803050/article/details/126535872