北大青鸟

网站首页 > 热门课程 > 视频剪辑运营师 >

站内公告

互联网HTTP协议的客户端缓存

责任编辑:宏鹏来源:武汉北大青鸟鲁广校区时间:2012-12-13 09:57:32
导读:互联网HTTP协议的客户端缓存。

提到缓存,一般都会想起redis、memcached等分布式缓存系统。虽然使用这些服务器端缓存速度能提升不少,但其实还是需要客户端下载这部分数据,目前在移动互联网领域,节省流量是很有必要的,因此工作中也就需要加入客户端缓存的相关技术。

怎么使用客户端缓存?

1、用http开头中的last-modified和if-modified-since属性:

客户端请求某个URL的页面时,服务器响应200的同时会下发一个last-modified属性表明请求页面的后更新时间。

客户端再次请求服务器时,根据http协议会在报头添加if-modified-since属性,询问请求页面是否被更新过。

如果服务器端没有更新过请求的页面,则自动响应http 304(not changed)状态码,而响应的Body为空,从而减少了数据传输。

如果服务器更新过了请求的页面,则会将新的数据响应给客户端。

因此,只要客户端将次服务器响应的数据和last-modified在本地存起来,以后的请求在if-modified-since中使用原先存储的时间,如果遇到了响应http 304就直接读本地存储的数据,如果不是304就及时更新本地存储的数据就行了。这样能比每次请求都拉取数据要节省很多流量。

2、关于Etag:

Etag主要为了解决last-modified无法解决的一些问题。

(1)一些文件的内容并不改变,改变修改时间。

(2)文件在1s内修改了N次,if-modified-since能检查到的粒度是秒级的,这种修改无法判断。

(3)服务器不能的得到文件的后修改时间;

与last-modified类似:

先,客户端次请求时,服务器计算好etag并返回给客户端。客户端保存etag信息和响应数据,再次发送请求时发一个If-None-Match头,并包含上次服务器响应的etag值。

其次,服务器判断发送过来的Etag和计算出来的Etag匹配,如果If-None-Match为False,不返回200,返回304,客户端继续使用本地缓存;

如果同时使用if-modified-since和If-None-Match,会在完匹配if-modified-since和If-None-Match之后,服务器才能返回304。

本文标题:互联网HTTP协议的客户端缓存,责任编辑:宏鹏,来源:武汉北大青鸟鲁广校区栏目,于2012-12-13 09:57:32发布于北大青鸟鲁广校区。互联网HTTP协议的客户端缓存。

专业老师指导

赵老师

赵老师

从事IT教育培训十年有余,致力于帮助广大学子找到适合自己的专业

立即在线咨询

培训咨询客服

陈老师

陈老师

IT培训专业客服,用自己的真诚解决了无数学子的困惑

立即在线咨询

本文地址:https://m.027hpedu.com/html/2026.html

文章标题:互联网HTTP协议的客户端缓存

上一篇:学网络营销 成为炙手可热的人才

下一篇:网络营销关于软文伪原创的两大技巧

热点关注

推荐视频剪辑运营师

热门视频剪辑运营师

预约你的精彩未来

预约将免费领取7天课程体验卡

-------请选择试预约课程-------

JAVA
WEB前端
PHP
UI设计
Python
电子商务
视频剪辑
大数据工程师
平面设计

83345人已领取

全国百余家校区

只为您方便就学

北大青鸟鲁广校区

北大青鸟鲁广校区

武汉市洪山区珞喻路724号(地铁二号线光谷广场站F口出)

预约到校
领取学习大礼包

首页

热门课程

视频网课

新闻资讯

关于学校

联系学校

预约选课申请

  • 预约时间

    请选择预约时间

  • 预约课程

    请选择预约课程

  • 姓   名
  • 手机号
  • QQ 号
  • 微信号

添加老师微信号

专业老师24小时1对1学习指导

定制专属于你的专属学习方案

微信号:17740513250

复制老师的微信号

复制成功啦

快去微信添加老师为好友吧~

北大青鸟小青

微信号:17740513250

北大青鸟小青

微信号:17740513250

设置备注
小主知道啦