Page 183 - HTTP权威指南
P. 183

图中发生的情况如下所示。

               •   在第 (1) 步中,用户向浏览器的 URI 窗口中输入 oreilly。浏览器用 oreilly 作为主
                 机名,并假定默认方案为 http://,默认端口为 80,默认路径为“/”。
         148   •   在第 (2a) 步中,浏览器会去查找主机 oreilly。查找失败了。
               •   在第 (3a) 步中,浏览器对主机名进行自动扩展,请求 DNS 解析 www.oreilly.
                 com。这次成功了。
               •   然后,浏览器成功地连接 www.oreilly.com。


               6.5.8 有显式代理时URI的解析

               使用显式代理时,用户的 URI 会被直接发送给代理,所以浏览器就不再执行所有这
               些便捷的扩展功能了。

               如图 6-17 所示,有显式代理时,浏览器没有对不完整的主机名进行自动扩展。因
               此,当用户在浏览器的地址窗口中输入 oreilly 时,发送给代理的就是 http://oreilly/
              (浏览器添加了默认方案和路径,但主机名和输入的一样)。



                                                      (4a)中发送的请求报文
                                (2a)已经显式地配置了
                                 代理,所以浏览器会用DNS         GET http://oreilly/ HTTP/1.0
                                 去搜索代理服务器的地址           Proxy-connection: Keep-Alive
                                                       User-agent: Mozilla/4.72[en] (Win98:I)
                                                       Host: oreilly
                                    (2b)成功!获取代         Accept: */*
                                    理服务器的IP地址          Accept-encoding: gzip
                                                       Accept-language: en
                                                       Accept-charset: iso-8859-1,*,utf-8
                                               DNS服务器
               (1)用户在浏览器的                                       (4b)客户端没有进行自动扩展,所以代
                URI地址窗口输入oreilly                                 理在请求中得到的是不完整主机名
                                    (3a)浏览器试图连接代理
                                      (3b)成功;连接建立起来了
                                      (4a)浏览器发送HTTP请求
                                客户端                         代理        www.oreilly.com
               (3a)浏览器进行自动扩展,
                将“oreilly”转换成www.oreilly.com





               图 6-17 有显式代理时,浏览器不会对不完整主机名进行自动扩展
               因此,有些代理会尽力尝试着去模仿浏览器的便捷服务,包括 www...com 自动扩
               展,以及添加本地域名后缀。             12



               注 12:  但对得到广泛共享的代理来说,知道单个用户的正确域名后缀基本上是不可能的。


               156   |   第 6 章
   178   179   180   181   182   183   184   185   186   187   188