代理服务器(Proxy Server)的工作原理是:当客户在浏览器中设置好Proxy Server后,你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机,而是先发给代理服务器,代理服务器接受了客户的请求以后,由代理服务器向目的主机发出请求,并接受目的主机的数据,存于代理服务器的硬盘中,然后再由代理服务器将客户要求的数据发给客户。
下面我们来详细说明其工作过程:
在网络上,当客户端向服务器端请求数据时,服务器端会随即将所需的数据传给客户端。但是这个服务器可能在很远的地方(例如在美国),数据传输需要较长的时间,如果需要同样数据的用户很多,则每次都要重复传送.
1、代理服务器的角色
代理服务器是为了减少长距离的传送而诞生的。它不仅可以代理客户端向服务器端提出请求,也可以代理服务器传给客户端所需要的数据。
当客户端对服务器端提出请求时,此请求会被送到代理服务器,然后代理服务器会检查本身是否有客户端所需要的数据。如果有,代理服务器便代替服务器将数据传给客户端。而代理服务器一般都是设置距自己传输距离较近的某台代理服务器,所以它传数据给客户端的速度会比从远程服务器传数据要快。
如果代理服务器没有客户端所请求的数据,它会去服务器获取所需的数据。在代理服务器从服务器端取得数据传给客户端时,自己保存一份,待下次如果有用户提出相同的请求时,便可以将数据直接传过去,而不需要再去服务器端获取了。可见,代理服务器改善网络数据传输阻塞的功能是显而易见的。
Step1:用户在地址栏输入一个网址,然后点击回车键;Step2:浏览器与服务器建立TCP连接;
Step3:浏览器将用户的事件按照HTTP协议要求的格式打包成数据包,这个过程的本质就是在待发送缓冲区中有这一段HTTP协议格式的字节流;
Step4:浏览器确认服务器可写,将该数据包推入Internet中,最终,该包被递交到服务端;
Step5:服务器在接收到该数据包后,以同样的格式进行解析,获取客户端的意图;
Step6:在获取了客户端的意图之后,服务器进行分类处理,或是提供某一文件,或是处理相关数据;
Step7:将处理结果装入缓冲区,或者文档,或是其他内容;
Step8:服务器将按照HTTP协议格式,将Step7中的数据进行打包;
Step9:服务器确定对端可写,将数据包推入Internet,该包经过网络处理,最终返回至客户端;
Step10:客户端拿到包之后,以HTTP协议格式进行解包,然后解析数据;
Step11:客户端处理相关数据,并且展示在页面之上。
以上这11步,就是web服务器最基本的工作原理。通过梳理,我们不难发现,这就是一个简单的网络通信过程。换句话说,就是一个简单的发送数据、接受数据、处理数据的过程。更高级的web服务器,无非也就是将上述的三个基础内容划分得更加详细一点而已。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)