HTTP协议学习(五)——代理

来源:互联网 发布:mac ps2017中文破解版 编辑:程序博客网 时间:2024/05/21 09:51
本章的包括如下内容:
1、代理服务器的常用类型描述。
2、代理服务器的作用以及好处。
3、代理服务器所处在整个HTTP请求中扮演什么角色

1、代理服务器的常用类型描述 
  •  HTTP代理:能够代理客户机的HTTP访问,主要是代理浏览器访问网页 
  •  FTP代理:能够代理客户机上的FTP软件访问FTP
  •  RTSP代理:代理客户机上的Realplayer访问Real流媒体
  •  POP3代理:代理客户机上的邮件软件用POP3方式收发邮件 
  •  SOCKS代理:SOCKS代理与其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP请求,所以SOCKS代理比其他类型的代理速度要快得多。SOCKS代理又分为SOCKS4和SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、端域名解析等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到,比如我们常用的聊天工具QQ在使用代理时就要求用SOCKS5代理,因为它需要使用UDP协议来传输数据。
  •  VPN代理:指在共用网络上建立专用网络的技术。之所以称为虚拟网主要是因为整个VPN网络的任意两个结点之间的连接并没有传统专网建设所需的点到点的物理链路,而是架构在公用网络服务商ISP所提供的网络平台之上的逻辑网络。用户的数据是通过ISP在公共网络(Internet)中建立的逻辑隧道(Tunnel),即点到点的虚拟专线进行传输的。通过相应的加密和认证技术来保证用户内部网络数据在公网上安全传输,从而真正实现网络数据的专有性。

2、代理服务器的作用以及好处 
使用代理服务器的好处的从两方面说。
  • 首先是请求者。
比如国内的工程师们想要访问国外的某些站点、多数时候就会出现无法访问或者无法连接到网站的情况。就是常说的被墙了。此时有些人就会使用像自由门啊这样的代理软件做代理来访问。实际过程是这样的:你的机子是A,代理是B,你要访问的目标是C,当你访问C被墙了的时,如果B能正常访问,那么你就可以通过访问B,通过B再去访问C这样一个过程(当然如果B也无法访问你在通过B去访问C也是不行的)。这里就体现了代理服务器的一个好处:在被请求资源有效的情况下,因为当前自身的某种限制而不能直接访问时,可以借助其它能访问的服务器间接去请求,从而达到访问目标的目的。另外一种情况是请求者在请求目标资源时、由于网络运营商或者其它因素导致访问较慢时通过请求速度较快的代理来加速访问目标资源从而达到提升访问速度的目的,这样就体现出代理的第二个好处:提升请求者请求资源的响应速度。需要明白的是这并不是因为自身速度快了,而是因为代理服务器的原因。
实际过程是:访问者A能快速访问代理B。代理B能快速访问目标资源C,但是访问者A本身直接访问目标资源C时速度较慢(比如玩游戏时如果游戏服务器是电信的而你的网络是联通的那么延迟会特别高这种情况,你通过使用一个电信的代理来玩游戏那么此时延迟将会比直接使用你联通本身的低很多,迅雷的游戏加速盒子就是这个原理)。
  • 其次是服务器(只针对HTTP服务器来讲)
代理能处理(相对于访问者来说、代理也是服务器)所有请求,有了代理之后访问者不会直接与服务器交互而是先通过代理,代理在根据各种请求来进行分发,有缓存服务器的的转向缓存服务器,有的转向真正的服务器或者转向较空闲的服务器做处理(负载均衡)。这样减少了服务器的压力。第三个好处:对于服务器来说、代理可以减少服务器压力、能通过代理调节服务器的负载均衡。
其次,因为有了代理服务器的预先处理访问、在一定程度上也增加了服务器的安全性(这是因为代理服务器可以在转发请求时丢掉一些请求信息,比如带有恶意代码的请求头信息,甚至是请求者的信息如cookie等都可以丢掉、但这样可能会在服务器上发生未知的问题)。

总结代理服务器的好处:
对于请求者来说、可以提高访问速度,访问被限制访问的资源。
对于代理本身来说它是作为一个中间层存在、主要用于调节请求者与服务器之间资源的有效通信。
对于服务器来说、可调节服务器负载均衡,增加一定的安全性。(当然这并不是代理的全部好处,其它的以后在写,这里只是做个简单的介绍)。

3、代理服务器所处在整个HTTP请求中扮演什么角色
由于代理是以一个中间层的角色存在的、因此其扮演的角色就的从两方面来讨论,相对于客户端和相对于服务器。
相对于客户端
对于客户端来说、代理其实可以看着是一个服务器、客户端向代理发起各种请求、由代理来协调请求的去向以及响应。
相对于服务器

对于服务器来说,代理又充当着一个客户端的角色、因为它代替真正的客户端在进行请求。

转载地址:http://blog.163.com/ny_lonely/blog/#m=0&t=1&c=fks_084068080084087064084082094095085094089074086082084068087

0 0