web代理

第一、什么是代理

1、web代理是代表客户端完成事务处理的中间人,对web客户端而言,代理扮演的是服务器的角色,接受报文,返回响应报文,对web服务器来说,代理扮演的是客户端的角色,发送web请求报文,接受响应web响应报文。

2、代理和网关的对比

代理连接的是两个或多个使用相同协议的应用程序,而网关连接的是两个或多个使用不同协议的端点。

第二、为什么使用代理

代理服务器可以改善安全性、提高性能,节省费用,可以监视流量并做修改,以下是集中常用代理的场合:

  1. 成人内容过滤器
  2. 文档访问控制代理
  3. 安全防火墙
  4. web缓存
  5. 反向代理:代理可以假扮web服务器,但与web服务器不同的是代理可以发起与其他服务器的通信,一遍按需定位所请求的内容
  6. 内容路由器:根据因特网流量状况以及内容类型将请求导向特定的web服务器
  7. 转码器:代理服务器在将内容发送给客户端之前,可以修改内容的主体样式
  8. 匿名代理服务器:删除HTTP报文的身份特征,如客户端的IP地址、from首部、referer首部、cookie

第三、代理服务器的部署

1、出口代理

2、访问入口代理

3、反向代理

4、网络交换代理

代理的层次结构:

  1. 负载均衡
  2. 地理位置附近的路由
  3. 协议/类型路由
  4. 基于订购的路由

代理是如何获取流量的?

修改客户端:将http请求直接发送给代理

修改网络:直接拦截HTTP请求

修改web服务器:web服务器向客户端发送一条HTTP重定向命令

修改DNS命名空间

第四、代理URI与服务器URI的不同

客户端向代理发送请求时,包含完整的URI

向服务器发送请求时,请求行中只包含URI(没有scheme、主机和端口)

第五、URI客户端自动扩展和主机名解析

1.没有代理时URI的解析

如在浏览器输入:google

通过DNS搜索主机google

失败,未知主机名

浏览器进行自动扩展为,www.google.com

成功,获得IP地址

2.有显示代理时URI的解析

此时浏览器没有对不完整的主机名进行自动扩展,直接发送给代理服务器,有些代理会尽力尝试者模仿浏览器的行为,进行扩展

3.有拦截代理时URI的解析

使用不可见的拦截代理时,浏览器必须自动扩展主机,知道DNS成功为止

第六、追踪报文

1、很多公司都会使用代理缓存来提高性能并实现各种特性

2、via首部

via首部字段列出了与报文途径的每个中间节点的相关信息,报文没经过一个节点,都必须将这个中间节点添加到via列表的末尾

3、via语法

每个via路标最多包含4个组件,包含:

一个可选的协议名(默认为HTTP),一个必选的协议版本,一个必选的节点名和一个可选的描述性注释

因为响应和请求是在同一条TCP连接传输,所以响应和请求的via首部相反

4、TRACE 方法

代理服务器可以在转发报文时对其进行修改,可以添加、删除或修改首部,通过HTTP/1.1的TRACE方法,用户可以跟踪经代理链传输的请求报文,观察报文经过哪些代理,以及每个代理时如何对请求报文进行修改的。




  


你可能感兴趣的:(WEB,HTTP代理)