http协议如何实现缓存cache

两个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都会不一样)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章