通信数据转发程序
HTTP通信时,除客户端和服务器外,还有一些用于通信数据转发的应用程序:代理、网关、隧道
这些应用程序和服务器可以将请求转发给通信线路上的下一站服务器,并且可以接收响应返回给客户端
代理:
代理是一种有转发功能的应用程序,它扮演的是客户端和服务器“中间人”的角色
网关:
网关是转发其他服务器通信数据的服务器,接收从客户端发送过来的请求,就像是自己拥有资源的源服务器一样对请求进行处理
隧道:
隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双发通信连接的应用程序
代理
1)代理服务器的基本行为就是接收客户端发送的请求后转发给其他服务器,代理不改变请求的URI,会直接发送给前方持有资源的源服务器(持有资源实体的服务器)
2)在HTTP通信的过程中,可级联多台代理服务器,即请求和响应的转发会经过多台代理服务器,转发时,需要附加Via首部字段以标记经过的主机信息
3)按照基类将代理分为缓存代理和透明代理
缓存代理(Caching Proxy):在转发响应时,会预先把资源缓存在代理服务器上,当客户端发送相同的请求时,就可以不从源服务器上获取资源
透明代理:在转发请求或响应时,不对报文做任何加工的代理
网关
网关的工作机制和代理十分相似,而网关能使通信线路上的服务器提供非HTTP协议服务,利用网关可以提高通信的安全性,因为可以在客户端与网关之间的通信线路上加密以确保连接的安全
隧道
隧道可按要求建立起一条与其他服务器的通信线路,届时使用SSL等通信加密手段进行通信,隧道的目的就是确保客户端和服务器进行安全的通信,在通信结束时断开
可以和远距离的服务器安全通信
保存资源的缓存
缓存是指代理服务器或客户端本地磁盘内保存的资源副本,利用缓存可以减少对服务器的访问
缓存服务器是代理服务器的一种,当代理转发从服务器返回的响应时,代理服务器会保存一份资源的副本,它的优势就在于避免多次从服务器转发资源
缓存的有限期限
即便缓存服务器上有缓存的资源,但也不能保证每次都返回相同的资源,因客户端的要求、缓存的有效期等因素,会向源服务器确认资源的有效性,若失效,则再次从源服务器中获取
客户端缓存
缓存不仅仅存在于缓存服务器中,也存在客户端浏览器中,同样,当缓存过了有效期后会向源服务器再次发送请求
没了
网友评论