参考哈工大网络公开课。
web缓存和代理服务器技术的核心思想
web缓存和代理服务器技术的核心思想就是:客户端不是直接访问URL中目标服务器,而是访问一个代理服务器,而代理服务器把访问过的网页暂时存储到本地代理服务器的存储空间,然后再次访问网页的时候先去本地代理服务器查询是否有需要的网页,如果有就直接有本地代理服务器发送给客户端,如果没有再去URL中所值定的服务器申请数据。
图一:web缓存和代理服务器技术的核心思想
web缓存/代理服务器技术的实现
多个客户端构成一个局域网(LAN),这个局域网内的所有URL访问都通过一个本地的代理服务器进行对外访问,并且代理服务器连接了一个本地存储空间,它会把所有访问过的网页暂时存储在这个存储空间内,当局域网内的客户端再次发出HTTP请求消息时间,本地服务器会先去它的存储空间内查找是否有申请访问的资源。如果有,就直接从本地服务器中返回资源给客户端;如果没有,就去URL中所值定的服务器申请数据返回给客户端,同时存储一个副本在本地内存中。
图二:web缓存/代理服务器技术的实现
条件性GET方法
上述实现方式还有一个问题就是无法保证本地存储器内的内容是最新的,所以需要采用一种方式——(条件性GET方法)来保证数据是最新版本。这个方法的基本思想就是本地代理服务器向URL目标服务器发送一个GET请求消息,这个消息里面包括了本地存储资源的更新时间,在URL目标服务器中,会用这个时间与最新版本的时间进行比对,如果时间一致就返回 304 Not Modified , 否则就返回 200 OK 和最新版本的资源。代理服务器接收到返回信息后会判断这个返回码,如果是304,就直接返回给客户给本地代理服务器存储的资源;如果是200就把新接收到的资源返回给用户,同时更新代理服务器存储的内容。
图三:条件性GET方法过程
web缓存和代理服务器技术的特点:
1、 代理服务器既充当客户端,有充当服务器;
2、 缩短了客户机请求的响应时间;
3、 减少了机构/组织的流量;
4、 在大范围内实现有效的内容转发;
5、 一般由ISP(Internet服务提供商)架设;