Page 188 - HTTP权威指南
P. 188
3. Via与网关
有些代理会为使用非 HTTP 协议的服务器提供网关的功能。Via 首部记录了这些协
议转换,这样,HTTP 应用程序就会了解代理链上各点的协议处理能力以及所做的
协议转换了。图 6-22 显示了一个通过 HTTP/FTP 网关请求某个 FTP URI 的 HTTP
客户端。
客户端向网关 proxy.irenes-isp.net 发送了一条对 ftp://http-guide.com/pub/welcome.tst
的 HTTP 请求。作为协议网关使用的代理会用 FTP 协议从 FTP 服务器获取预期的对
象。然后代理会用下面这个 Via 首部字段,在一条 HTTP 响应中将对象回送到客户
端上去:
Via: FTP/1.0 proxy.irenes-isp.net (Traffic-Server/5.0.1-17882 [cMs f ]) 153
注意,接收到的协议是 FTP。可选注释中包含有代理服务器的品牌和版本号,以及
一些厂商的诊断信息。在第 8 章可以读到所有与网关有关的内容。
发送给代理的HTTP请求报文
GET ftp://http-guide.com/pub/welcome.txt HTTP/1.0
FTP请求
proxy.irenes-isp.net
客户端 (HTTP/1.0) FTP响应
http-guide.com
FTP服务器
HTTP响应报文
HTTP/1.0 200 OK
Date: Sun, 11 Nov 2001 21:01:59 GMT
Via: FTP/1.0 proxy.irenes-isp.net (Traffic-Server/5.0.1-17882 [cMsf])
Last-modified: Sun, 11 Nov 2001 21:05:24 GMT
Content-type: text/plain
Hi there. This is an FTP server.
图 6-22 HTTP/FTP 网关生成了 Via 首部,用于记录所收到的协议(FTP)
4. Server和Via首部
Server 响应首部字段对原始服务器使用的软件进行了描述。这里有几个例子:
Server: Apache/1.3.14 (Unix) PHP/4.0.4
Server: Netscape-Enterprise/4.1
Server: Microsoft-IIS/5.0
代 理 | 161