1.什么是Web代理Web代理(proxy)服务器是网络的一个中间实体。代理位于客户端和服务器之间,充当“中间人”并在端点之间来回传输HTTP消息。专用于一个客户端的代理称为私有代理,而由许多客户端共享的代理称为公共代理。2、Web代理和网关代理的区别:连接两个或多个使用相同协议的应用程序。网关:使用不同的协议连接两个或多个端点。三、为什么要使用代理1、儿童过滤器如果你在学校,你不仅要无障碍访问教育网站,还要使用代理来组织访问成人内容。2.文档访问控制使用代理服务器在大量的Web服务器和Web资源之间实施统一的访问控制策略。例如a)允许客户端1不受限制地访问服务器A的新闻页面b)客户端2可以不受限制地上网c)在允许客户端3访问服务器B之前,需要输入账号密码3、安全防火墙防火墙代理改进为了安全起见,代理服务器限制哪些应用层协议数据可以流向网络中单个安全节点上的另一个组织。还可以提供Web和电子邮件代理用来消除病毒的挂钩,以对流量进行详细检查。4.Web缓存代理缓存维护常用文档的本地副本并按需提供它们以减少缓慢且昂贵的网络通信。5.反向代理代理可以伪装成Web服务器。这些反向代理的代理接收发送到Web服务器的真实请求。与Web服务器不同,它们可以启动与其他服务器的通信,以便按需定位请求的内容。6.内容服务器代理服务器可以作为“内容服务器”,根据互联网流量情况和内容类型,将请求定向到特定的网络服务器。还可以实现各种服务级别的请求。例如,用户付费以提高性能,内容路由器可以将请求转发到附近的副本缓存。7、转码器代理服务器可以在将内容发送给客户端之前修改内容的主体格式。这些数据表示之间的透明转换称为转码。比如传输GIF图片时,将其转为JPEG图片;你也可以压缩图片。或者在传输过程中将文档转换成另一种语言(将英文文档转换为中文文档)。8、Anonymous匿名代理会主动删除HTTP报文中的身份特征(如客户端IP地址、From头、Referer头、cookie、URI的sessionID等),提高隐私性和匿名性。四。代理服务器的位置1、出口代理将代理固定在本地网络的出口点,以控制本地网络和互联网之间的流量。2.接入入口代理代理常被放置在ISP(InternetServerProvider)互联网服务提供商的接入点上,用于处理客户的聚合请求。ISP使用缓存代理来存储常用文件的副本,以提高用户的下载速度并减少Internet带宽消耗。3.反向代理代理通常部署在网络的边缘,在web服务器之前,作为替代者(反向代理),它们可以处理所有发往web服务器的请求,只在必要的时候向web服务器请求资源。4、网络交换代理可以在网络间的Internet对等交换点上放置具有足够处理能力的代理,通过缓存缓解Internet节点的拥塞,并对流量进行监控。5.代理层级结构可以通过代理层级连接代理。代理层级的应用场景是:1)负载均衡子代理可以根据当前父代理上的工作量决定如何选择一个负载均衡,以达到负载均衡的作用2)附近的路由子代理地理位置可以选择负责原始服务器所在物理区域的代理3)协议/类型路由子代理可以根据URI将消息转发给不同的父代理和原始服务器4)基于订阅的路由如果发布者为高性能支付额外费用,他们的URI被转发到大型缓存或压缩引擎以提高性能。六、如何让客户端走代理客户端通常直接和web服务器通信,如何让客户端的流量流向代理1)修改客户端,将客户端配置为代理服务器,客户端发送HTTP请求直接发送给代理,而不是源服务器。2)修改网络基础层。通过多种技术手段,在客户端不知情或不参与的情况下拦截网络流量并将其导入代理。3)修改DNS命名空间,放在Web服务器的代理服务器(反向代理)上,会直接伪装成Web服务器的名称和IP地址,这样所有的请求都会发往这些反向代理服务器而不是Web服务器。4)修改web服务器,配置部分web服务器向客户端发送HTTP重定向命令(响应码305),将客户端请求重定向到代理。客户端收到重定向命令后,会与代理服务器进行通信。七、跟踪消息1.Via头Via头域列出了消息路径的每个中间节点的相关信息。消息每经过一个节点,都要将这个中间节点添加到Via链表的末尾。via:1.1proxy-62.irenes-isp.net,1.0cache.joes-hardware.comVia头域用于记录消息转发,诊断消息循环,标识请求链和响应链上所有发送方的协议能力.2.Via的语法Via头字段包含一个逗号分隔的路标,每个路标代表一个独立的代理服务器或网关。Via包括四个组件,一个可选的协议名称(默认为HTTP)、一个强制协议版本、一个强制节点名称和一个可选的描述性注释。via:1.1proxy-62.irenes-isp.net,1.0cache.joes-hardware.com3、Via的请求和响应路径请求和响应消息都会通过代理传递,所以请求和响应消息中必须有Via大写.请求和响应通常都通过相同的TCP连接发送,因此响应消息遵循与请求消息相同的返回路径。4、via和gateway有些proxy会为不使用HTTP协议的服务器提供gateway功能,Via头记录了这些协议的转换。5.Trace方法代理服务器在转发数据包时可以修改数据包。可以添加、修改或删除标题,并且可以将正文转换为不同的格式。通过HTTP/1.1的TRACE方法,用户可以跟踪代理链传输的请求消息,观察消息经过了哪些代理,以及每个代理如何修改请求消息。
