目录
- 前言
- 代理
- 网关
- 隧道
- 总结
前言
HTTP通信时,除客户端和服务器之外,还有一些用于通信数据转发的应用程序,例如,代理、网关、隧道。他们可以配合服务器来工作。
这些应用程序和服务器可以将请求转发给通信线路上的下一站服务器,并且能接受从这台服务器发送的响应再转发给客户端。
一、代理
代理是一种有转发功能的应用程序,它扮演了客户端和服务器 “中间人”的角色,接受客户端的请求并转发给服务器端,并接受服务器端做出的响应再转发给客户端。
代理服务器的基本行为就是接收客户端发送的请求后转发给其他服务器。代理不改变请求的URI,会直接发送给前方持有资源的目标服务器。
持有资源实体的服务器被称为源服务器。从源服务器返回的响应经过代理服务器被转发给客户端。
每次通过代理服务器转发请求或响应时,会追加写入Via首部信息
在HTTP通信过程中,可级联多台代理服务器。请求和响应的转发会经过数台类似锁链一样连接起来的代理服务器。转发时需要附加首部via字段标记出经过的主机位置。
使用代理服务器的理由:
1、利用缓存技术