考点五:万维网(WWW)
1.万维网概述
万维网就是我们平时上网看的网页信息。万维网用超链接(这就是网址)从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。万维网以客户机-服务器模式工作,使用端口80。万维网主要包含以下内容:
(1)使用统一资源定位符(Uniform Resource Locator,URL)来标志万维网上的各种文档,使每个文档在整个因特网的范围内具有唯一的标识符URL。
(2)在万维网客户机程序与万维网服务器程序之间使用超文本传送协议(Hyper Text Transfer Protocol,HTTP)进行交互使用。
2.统一资源定位符
统一资源定位符(URL)是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示,URL给资源的位置提供一种抽象的识别方法,并用这种方法定位。
URL的一般形式是:<协议>://<主机>:<端口>/<路径>。
其中,<协议>是应用协议,如HTTP、FTP等;<主机>是存放资源的主机在因特网中的域名:<端口>是指进程的端口;<路径>是指所需资源的路径。
3.超文本传送协议(HTTP)
万维网使用超文本传送协议(HTTP)来传送一切信息,它具有以下特点:
(1)HTTP是面向事务(Transaction Oriented)的应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
(2)HTTP是面向事务的客户机-服务器协议。
(3)HTTP 1.0协议是无状态的。
(4)HTTP协议本身也是无连接的,虽然它使用了面向连接的TCP向上提供的服务。HTTP协议具有以下两种工作方式:
①非持续连接:每个连接处理一个请求-响应事务,即当请求-响应过程完成后立即断开连接,再次进行传输时,需要重新建立连接[图6-12(a)]。
②持续连接:HTTP/1.1协议使用持续连接。万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户机(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文[图6-12(b)]。持续连接的两种工作方式如下:
a.非流水线方式:客户在收到前一个响应后才能发出下一个请求。虽然这比非持续连接的两倍RTT的开销节省了建立TCP连接所需的一个RTT时间,但服务器在发送完一个对象后,其TCP连接就处于空闲状态,浪费了服务器资源。
b.流水线方式:客户机在收到HTTP的响应报文之前就能够接着发送新的请求报文。一个接一个的请求报文到达服务器后,服务器就可以连续发回响应报文。在使用流水线方式时,客户机访问所有的对象只需花费一个RTT时间,使TCP连接中的空闲时间减少,提高了下载文档效率。
图6-12 http协议的两种工作方式
(a)非持续连接;(b)持续连接
考试中非持续连接和持续连接的非流水线方式是重点。如果采用非持续连接,假设需要传输N个对象,请求-返回时间是RTT,且第三次TCP握手信号携带HTTP请求信号,那么传输N个对象所需的时间是2×N×RTT,也就是建立TCP连接需要一个RTT,传输对象需要一个RTT。如果采用持续连接的非流水线方式,同样需要传输N个对象,请求-返回时间是RTT,且第三次TCP握手信号携带HTTP请求信号,那么所需要的时间是(N+1)×RTT,其中建立TCP连接需要一个RTT,传输N个对象需要N个RTT。
4.HTTP 的报文结构
HTTP协议是一个应用层协议,它使用TCP连接进行可靠的传送。HTTP是面向事务的应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。HTTP有以下两类报文:
(1)请求报文:从客户机向服务器发送。报文由3个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。
(2)响应报文:从服务器到客户机的回答。响应报文的开始行是状态行。状态行包括3项内容,即HTTP的版本、状态码及解释状态码的简单短语。
【政哥点拨】
1.学生A希望访问网站www.sina.com,A在其浏览器中输入http://www.sina.com并按回车键,直到新浪网站首页显示在其浏览器中。请问:在此过程中,按照TCP/IP参考模型,从应用层到网络层都用到了哪些协议?
解析 从应用层到网络层,分别使用了以下协议:
①学生A使用了万维网服务,在应用层使用了HTTP协议来通信,并且在将域名www.sina.com转换成IP地址的过程中需要用到DNS协议进行域名解析。
②在传输层,HTTP协议和DNS都使用TCP协议在客户机和服务器之间建立连接,提供可靠的数据传输。
③在网络层,要把传输层递交下来的报文进行分组和转发,因此需要使用IP协议。网络层提供的是无连接的不可靠的服务,因此需要ICMP协议来提供网络传输中的差错检测。另外,还需要ARP协议将本机的默认网关IP地址映射成物理MAC地址。
2.假定同一台服务器的HTML文件中又链接了3个非常小的对象。若忽略这些对象的发送时间,试计算客户机读取这些对象所需的时间。
(1)TCP连接的非持续HTTP。
(2)TCP连接的持续HTTP。
(3)流水线方式的持续HTTP。
解析 同一台服务器的相应的HTML文档中又链接了3个非常小的对象,且HTTP采用TCP连接。
(1)如果采用非持续连接的HTTP连接,那么所需要的时间是2×3×RTT。
(2)如果采用持续连接的HTTP连接,那么所需要的时间是(3+1)×RTT。
(3)如果采用流水线方式持续连接的HTTP连接,那么所需要的时间是RTT+RTT+2×RTT/2。
政哥应试提醒: 在考试中,主要考查的是万维网的特点及HTTP的连接。
难度系数:★★
牛刀小试
1.统一资源定位器(URL)的基本格式由3个部分组成,如http://www.microsoft.com/index.html,其中第一部分http表示( )。
A.传输协议与资源类型 B.主机的IP地址或域名
C.资源在主机上的存放路径 D.用户名
2.在下列选项中,( )不是HTTP会话4个过程中的步骤。
A.建立连接 B.发出请求信息 C.发出响应信息 D.传输数据
3.每个Web页面,包括主页都有唯一的地址,通常称该地址为( )。
A.Web页面地址 B.主页地址
C.网页搜索地址 D.统一资源定位符(URL)
4.关于WWW服务,下列哪种说法是错误的?( )
A.WWW服务采用的主要传输协议是HTTP
B.服务以超文本方式组织网络多媒体信息
C.用户访问Web服务器可以使用统一的图形用户界面
D.用户访问Web服务器不需要知道服务器的URL地址
5.从协议分析的角度,WWW服务的第一步操作是WWW浏览器对WWW服务器的( )。
A.地址解析 B.传输连接建立 C.域名解析 D.会话连接建立
6.HTTP的默认端口是( )。
A.21 B.23 C.80 D.79
7.浏览WWW使用的地址称为URL,URL是指( )。
A.IP地址 B.主页 C.主机域名 D.统一资源定位符
8.下列关于Cookie的说法中错误的是( )。
A.Cookie存储在服务器端 B.Cookie是服务器产生的
C.Cookie会威胁客户的隐私 D.Cookie的作用是跟踪客户机的访问和状态
牛刀小试解析
1.A 解析 本题考查URL中的http的含义。URL是对互联网上的资源位置和访问方法的表示方法,是互联网上标准资源的地址。URL格式一般为<URL访问方式>://<主机>:<端口>/路径。常见的URL访问方式主要有FTP(文本传送协议)、HTTP(超文本传输协议)和HTTPS(用安全套接字层传送的超文本传送协议)等。
2.D 解析 本题考查HTTP会话的4个过程。HTTP的4个会话工作过程如图6-13所示。
图6-13 HTTP的4个会话工作过程
由图6-13可知,在第一阶段,首先建立TCP连接。
3.D 解析 本题考查URL的概念。参照本考点的第1个选择题。
4.D 解析 HTTP是WWW客户机和服务器之间的应用层传输协议。网页页面采用超文本方式对信息进行组织。用户可以使用统一的图形用户界面访问Web服务器,但用户访问Web服务器的时候需要知道服务器的URL地址。
5.C 解析 WWW服务一般用域名来表示,不直接使用IP地址来表示。因为IP地址是一串数据,这串数据不方便记忆。用域名来表示要访问的WWW服务器或主机的地址时,若要访问该WWW服务器或主机,则要对域名进行解析。只有解析到IP地址了,才建立http连接来与服务器交互,访问万维网资源。
6.C 解析 本题考查HTTP协议的默认端口。HTTP的默认端口号是80。
7.D 解析 URL(Uniform Resource Locator),即统一资源定位符。
8.A 解析 Cookie机制的工作原理如下:
①用户第1次访问某个网站时,服务器在HTTP响应报文中的Cookie首部行中加入一个新产生的用户ID,并在服务器的后端数据库中建立相应记录。
②在用户主机中产生Cookie文件,由用户浏览器管理。
③用户下一次访问时,浏览器在其HTTP请求报文中的Cookie首部行中引用服务器所分配的用户ID,用户的状态和访问记录可能被记录在后台数据库中。
从而,Cookie会对用户的隐私产生威胁。Cookie是服务器产生的,以文本文件的形式存储在用户本地主机上。所以,A项错误。