IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Http 协议中ETag的用法

PHPor 的Blog 2010-06-03 13:20:48 累计浏览 3,624 次
本机暂存
大网站一般都是用F5或其它的负载均衡设备,用户的每次请求落在那台real server都是不一定的,一次偶然的机会,发现相同的一个资源在两次访问时,http头中的etag是不相同的,主要是该资源一定是没有被修改的,于是想到etag的算法中可能使用到了资源在不同real server上可能不同的因子,于是参考了一下apache的文档(因为我们使用的是apache),文档地址:

    http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/core.html#fileetag

    默认情况下,etag和资源的inode有关系,而inode在不同的real server上基本是不相同的,于是,这样的etag还不如没有,因为这样该资源是每次都要返回全部信息的,可以修改apache配置文件,添加如下配置:

    FileETag MTime Size

    关于apache中etag的算法,可以参考源码: src/main/http_core.c 中的函数set_etag_bits

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 浅析http协议、cookies和session机制、浏览器缓存 (累计阅读 17,446)
  2. 解析nginx负载均衡 (累计阅读 16,625)
  3. 从输入 URL 到页面加载完成的过程中都发生了什么事情? (累计阅读 15,933)
  4. libcurl的使用总结(二) (累计阅读 15,083)
  5. 使用python爬虫抓站的一些技巧总结:进阶篇 (累计阅读 13,302)
  6. HTTP协议Keep-Alive模式详解 (累计阅读 12,105)
  7. 你必须了解的Session的本质 (累计阅读 11,442)
  8. Facebook 网站架构 (累计阅读 11,112)
  9. 基于Redis构建系统的经验和教训 (累计阅读 10,522)
  10. curl 命令使用cookie (累计阅读 10,017)