web(2)
WEB 客户机
1.WEB客户机是一个软件,WEB客户机的典型任务是代表用户发送WEB请求和接收响应。
2.标准的WEB传输实例 以请求http://www.bar.com/foo.html为例:
A.浏览器首先会分析这个URL,":"字符之前的第1部分代表协议,浏览器利用该协议提取资源www.bar.com/foo.html。这里的协议是http,还可以使用FTP或Telnet之类的其他协议
B.资源www.bar.com/foo.html本身有两部分:前一部分代表Web服务器运行的机器(www.bar.com),浏览器需要访问域名系统(DNS)服务器,查找与www.bar.com字符串对应的原始服务器IP地址,
C.取得IP地址后,浏览器使用传输控制协议(TCP)建立与原始服务器的传输层连接
D.成功连接后,浏览器发送对资源/foo.html的格式化HTTP请求
E.原始服务器www.bar.com则用资源/foo.html的当前内容作出响应
F.浏览器分析响应,并可能建立附加连接,以提取内嵌资源。假设/foo.html中有3幅内嵌的图像,此时浏览器可能已开始显示/foo.html中部分提取到的内容,即使它还要建立附加连接以请求内嵌的图像资源。也就是说提取内嵌图像所需要的附加连接可并行建立,这些连接可能不是与同一个原始服务器建立的,因为/foo.html中的内嵌资源可能驻留在其他原始服务器中。浏览器可在任一图像到达时便开始重现,当所有内嵌图像均接收并显示之后,浏览器的任务便完成了。
[不存在代理的HTTP请求示意图]
3.浏览器高速缓存
高速缓存是一个本地存储的资源,是原始服务器上的资源的副本,可用来缩短用户所感知的来自服务器响应的延迟。浏览器中通常有两种高速缓存:
A.计算机内存,
B.专门用作高速缓存的一部分文件系统磁盘空间
既然是一个副本,那么这个副本就有可能过期,原始服务器上的资源总是最新的,为了确保副本不过期,在每次有对缓存资源请求时,浏览器都会去验证高速缓存响应,即拿副本与服务器上的原本进行比较, 以确保响应是最新的,这种检测叫作高速缓存重校验。
如果高速缓存能保证所存储的资源是最新的,我们就认为该高速缓存维持着缓存资源的一致性。
如果被请求资源没在浏览器高速缓存中,请求将被发给下游服务器,下游服务器可以是、也可以不是原始服务器
4.Spider客户机
Spider是一个在大量网站上获取部分甚至全部资源的程序,它这样做的主要目的是生成一个倒排索引,以便日后在一个搜索应用程序中使用。
倒排索引:一系列指针指向搜索字符串在文档中出现的各个位置,像这样的一个指针集合叫做倒排索引。