万维网(WWW)
万维网(WWW)
一、万维网概述
- 万维网 WWW (World Wide Web)是一个大规模的、联机式的信息储藏所。
- 万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。
- 这种访问方式称为“链接”。
- 万维网提供分布式服务:
1.1超媒体与超文本
- 万维网是分布式超媒体(hypermedia)系统,它是超文本(hypertext)系统的扩充。
- 一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。
- 超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。
1.2.万维网的工作方式
- 万维网以客户服务器方式工作。
- 浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
- 客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
- 在一个客户程序主窗口上显示出的万维网文档称为页面(page)。
1.3.万维网必须解决的问题
1.怎样标志分布在整个因特网上的万维网文档?
- 使用统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。
- 使每一个文档在整个因特网的范围内具有唯一的标识符 URL。
2.用什么协议实现万维网上各种超链的链接?
- 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议 HTTP (HyperText Transfer Protocol)。
- HTTP 是一个应用层协议,它使用 TCP 连接进行可靠的传送,一般使用80端口。
3.怎样使各种万维网文档都能在因特网上的各种计算机上显示出来,同时使用户清楚地知道在什么地方存在着超链?
- 超文本标记语言 HTML (HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
二、统一资源定位符 URL
- 统一资源定位符 URL 是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。
- URL 给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。
2.1.URL 的一般形式
- 由以冒号隔开的两大部分组成,并且在 URL 中的字符对大写或小写没有要求。
- URL 的一般形式是:
2.2.使用 HTTP 的 URL
使用 HTTP 的 URL 的一般形式:
- "http"——表示使用HTTP协议;
- "://"——冒号和两个左斜杠是规定的格式;
- "<主机>"——表示主机的域名;
- "<端口>"——HTTP的默认端口号是80,通常可省略;
- "<路径>"——表示文件路径,若再省略文件的<路径>项,则 URL 就指到因特网上的某个主页(home page)。
三、超文本传输协议HTTP
3.1.HTTP 的操作过程
- 为了使超文本的链接能够高效率地完成,需要用 HTTP 协议来传送一切必须的信息。
- 从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
3.2.HTTP 的报文结构
HTTP 有两类报文:
- 请求报文——从客户向服务器发送请求报文。
- 响应报文——从服务器到客户的回答。
- 由于 HTTP 是面向正文的(text-oriented),因此在报文中的每一个字段都是一些 ASCII 码串,因而每个字段的长度都是不确定的。
3.3.HTTP 请求报文的结构
报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。
-
方法字段——对所请求的对象进行的操作,即一些命令。请求报文的类型是由它所采用的方法决定的;
HTTP 请求报文的一些方法
- OPTION:请求一些选项的信息;
- GET:请求读取由 URL所标志的信息;
- HEAD:请求读取由 URL所标志的信息的首部;
- POST:给服务器添加信息(例如,注释);
- PUT:在指明的 URL下存储一个文档;
- DELETE:删除指明的 URL所标志的资源;
- TRACE:用来进行环回测试的请求报文;
- CONNECT:用于代理服务器;
-
URL字段——所请求的资源的 URL;
-
版本字段——表示 HTTP 的版本;
3.4.HTTP 响应报文的结构
响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。
-
状态码
状态码都由三个数字组成:
- 1xx 表示通知信息的,如请求收到了或正在进行处理;
- 2xx 表示成功,如接受或知道了;
- 3xx 表示重定向,表示要完成请求还必须采取进一步的行动;
- 4xx 表示客户的差错,如请求中有错误的语法或不能完成;
- 5xx 表示服务器的差错,如服务器失效无法完成请求;
3.5.超链接的工作过程
用户点击"链接"后所发生的事件 :
-
浏览器分析"文本"超链指向页面的 URL;
-
浏览器向 DNS 请求解析 www.123.edu.cn 的 IP 地址;
-
域名系统 DNS 解析出服务器的 IP 地址;
-
浏览器与服务器建立 TCP 连接
-
浏览器发出取文件命令:
GET /chn/yxsz/index.htm。
-
服务器给出响应,把文件 index.htm 发给浏览器。
-
TCP 连接释放。
-
浏览器显示“文本”文件 index.htm 中的所有文本。
3.6.请求一个万维网文档所需的时间
RTT表示数据包(报文)往返时间。
3.7.持续连接 (persistent connection)
- HTTP/1.1 协议使用持续连接。
- 万维网服务器在发送响应后仍然在一段时间内保持这条TCP连接,使同一个客户(浏览器)和该服务器可以继续在这条TCP连接上传送后续的 HTTP 请求报文和响应报文。
- 这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。
3.8.持续连接的两种工作方式
- 非流水线方式:客户在收到前一个响应后才能发出下一个请求。与非持续连接相比节省了建立 TCP 连接所需的一个 RTT 时间。但服务器在发送完一个对象后,其 TCP 连接就处于空闲状态,浪费了服务器资源。
- 流水线方式:客户在收到 HTTP 的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可连续发回响应报文。使用流水线方式时,客户访问所有的对象只需花费一个 RTT时间,使 TCP 连接中的空闲时间减少,提高了下载文档效率。
3.9.在服务器上存放用户的信息
- 万维网站点使用 Cookie 来跟踪用户。
- Cookie 表示在 HTTP 服务器和客户之间传递的状态信息。
- 使用 Cookie 的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。
四、代理服务器 (proxy server)
- 代理服务器(proxy server)又称为万维网高速缓存(Web cache),它代替浏览器发出 HTTP 请求;
- 可以在代理服务器中设置哪些网段的计算机能通过代理服务器上网,能通过代理服务器上什么网;
- 万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中;
- 当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。
4.1.使用代理服务器的场合
1.节省内网访问 Internet 的带宽。
安装代理服务器前:
内网的所有计算机上网的流量都通过这条2Mb/s的链路,这会造成该链路时延过大。
安装了代理服务器后:
- 浏览器访问因特网的服务器时,要先与校园网的代理服务器建立 TCP 连接,并向代理服务器发出 HTTP 请求报文。
- 若代理服务器已经存放了所请求的对象,则将此对象放入 HTTP 响应报文中返回给浏览器。
- 否则,代理服务器就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。
- 源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的代理服务器。
- 代理服务器收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在 HTTP 响应报文中,通过已建立的 TCP 连接,返回给请求该对象的浏览器。
2.绕过路由器的防火墙访问外网
- 路由器设置的防火墙会拦截目标地址或源地址为特定地址的数据包。
- 路由器只识别数据包的源地址和目标地址,不关心数据包内容。
如图所示,在国内的用户PC1想访问国外的某些网站时,路由器收到PC1的请求后,判断出目标地址为国外的某网于是路由器的防火墙截断了该请求,导致PC1无法成功访问;
如果PC1通过国外的代理服务器中转就可以访问外网。PC1发出的请求数据包目标地址为国外某代理服务器,请求数据包到达路由器时,路由器判断出数据包的目标地址不是防火墙设置的屏蔽地址,故能够把数据包传输给国外的代理服务器,代理服务器再把数据包传输给外网的源服务器;从外网返回的数据包通过代理服务器中转之后到达路由器时源地址变为代理服务器地址,故能绕开路由器的防火墙,成功到达PC1;由此PC1能够访问外网。
3.避免IP地址被跟踪
当我们在网上发表言论时,有时候隐藏个人计算机的IP地址能够带来很大便利。通过代理服务器在网络上进行活动能够有效地防止个人计算机地IP地址被跟踪。
原理为改变数据包地目标地址或源地址,过程与"上2"类似。
五、浏览器
浏览器就是在用户计算机上的万维网客户程序,相当于客户端。
5.1.浏览器的结构
5.2.浏览器中的缓存
- 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。
- 当用户用点击某个超链接时,浏览器首先检查磁盘的缓存。若缓存中保存了超链接的URL指向的文件,浏览器就直接从缓存中得到该文件副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 。
- 但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。许多浏览器允许用户调整缓存策略。