两个head字段
client:
if-modified-since
if-none-match
server:
last-modified
entity-tag (Etag)
ETag 依靠使用客户端(浏览器)的缓存机制,提升服务器的性能,减少网络线路的负载。
加快web体验速度
大致过程:
1、客户端第一次访问服务器,数据发送访问url
2、服务器回复 第一个资源信息 (比如 sitehome.css) 的 etag
3、客户端展现该部分页面,本地记录该资源信息的etag值,(比如:md5)
4、客户端再次访问该资源信息时,携带if-none-match信息,给server
5、server检测,如果该资源信息的etag没有改变,则回复304。
概念
典型的Web资源可以一个Web页,但也可能是JSON或XML文档。
ETag是一个可以与Web资源关联的记号(token)。根据apache这样的web服务器 的配置策略生成。
知识点
注意:etag是页面上一个资源的属性 可以是资源的任何具体信息 比如md5 or。。
last modified 也是页面的一个资源的属性 只关注资源修改的时间。 秒单位的修改。
如果1s内 资源信息发生了修改 ,则last modified 则判断不出来 ,但etag可以。
建议
一般建议分布式系统尽量关闭掉Etag(每台机器生成的etag都会不一样)