web上的代理服务器是代表客户端完成事务处理的中间人。
HTTP代理服务器即是web服务器也是web客户端。意思是处理客户端发来的请求并为此返回响应 也要向http服务器发送请求。
代理和网关的区别
- 代理是链接两个或多个使用相同协议的应用程序。
- 网关是连接两个或多个使用不同协议的端点。网关是协议转换器,即使客户端与服务器使用不同的协议,客户端也可以通过网关完成与服务器之间的事务处理。
代理的作用
代理可以改善安全性,提高性能,节省经费,代理服务器可以接触到所有流过的HTTP流量,所以代理可以监控流量并对其进行修改。
eg: 儿童过滤器,文档访问控制,安全防火墙。
web缓存:维护常用文档的本地副本。
反向代理:这种代理可以发起与其他服务器的通信,也被称为服务器加速器,还可与路由功能配合使用形成按需求复制内容的分布式网络
动态选择父代理
负载均衡:根据父代理的的工作负载来选择父代理。
地理位置附近的路由。
协议/类型的路由
基于订购的路由
代理如何获取流量
- 修改客户端:配置客户端使用代理服务器。
- 修改网络:在客户端不知道,或没有参与的情况下,拦截网络流量并将其导入代理,又称拦截代理。
- 修改DNS命名空间:代理假扮web服务器的名字和ip地址。手工编辑DNS名称列表,或者用特殊的动态DNS服务器根据需要类确定适当的代理或服务器。
- 修改web服务器:服务器向客户端发送HTTP重定向命令,重定向到一个代理上去
客户端的代理设置
- 手工配置
- 预先配置浏览器
- 代理的自动配置:体用一个URI指向一个用js编写的代理自动配置文件 客户端取回后运行。
- wpad的代理发现:web代理自动发现协议
代理URI与服务器URI
- 部分URI发服务器
- 完整URI发代理。
代理需要知道目标服务器的名称才能建立自己与服务器的连接。
在代理不存在的时候单个的服务器都知道自己的主机名和端口,所以避免发送冗余信息客户端直接发送部分URI就可以了。
反向代理:一个用来取代原始服务器的代理服务器,会受到web服务器的请求,可能会向真正的服务器提供缓存的响应或者代理请求,客户端无法区分反向代理和服务器因此会发送部分URI
拦截代理:拦截从客户端发往服务器的请求,并提供一个缓存响应,或对其进行转发,拦截这一个请求的流量因此也是收到发送给服务器的部分URI
网友评论