对于计算机专业的学生,对缓存一词并不陌生。它在计算机当中应用的十分广泛,今天我们在Web服务器的学习中,也遇到了这一技术。我们来详细的学习一下。
1、功能
在不访问服务器的前提下满足客户端的HTTP请求。
2、为什么要去发明这种技术呢?
- 缩短客户请求的响应时间
- 减少机构/组织的流量
- 在大范围内(Internet)实现有效的内容分发
3、具体如何实现?
用户设定浏览器通过缓存进行Web访问
浏览器向缓存/代理服务器发送所有的HTTP请求
如果所请求的对象在缓存中,缓存返回对象
否则,缓存服务器向原始的服务器发送HTTP请求,
获取对象,然后返回给客户端并保存该对象。
缓存既充当客户端,也充当服务器。
一般由ISP(Internet服务供应商)假设
过程如下图所示:
4、Web缓存的示例
5、如何保证缓存服务器与远端服务器的数据一致?
采用条件性GET方法
目标:如果缓存有最新的版本,则不需要发送请求对象。
缓存:
在HTTP请求消息中声明所持有版本的日期。
If-modified-since:<date>
服务器:
如果缓存的版本是最新的,则响应消息中不包含对
象.
HTTP/1.0 304 NOT Modified.
图示:
这部分内容到这就结束了,希望对大家有所帮助!如有错误,还希望指出!感激之至!感谢!
下面是本人的微信公众号,会定期发布一些技术方面的知识与大家分享,欢迎关注,我们一起讨论成长!