1. 万维网
  • 万维网上是一个大规模的信息储藏所,每一个万维网站点都存放了许多文档,

  • 万维网是一个分布式的超媒体系统,是超文本的扩充,所谓的超文本是包含指向其他文档连接的文本,利用一个连接可以使用户找到另一个文档。万维网将大量信息分布在整个因特网上,每台主机上的文档都独立进行管理。

  • 怎样标记分布在万维网上的文档的呢?

    万维网使用统一资源定位符URL来标志各种文档,每一个文档在整个因特网的范围内具有唯一的标识符URL。URL相当于一个文件名在网络范围内的扩展。

  • 用什么样的协议来实验万维网上各种链接?

    超文本传输协议HTTP

  • 怎样使不同的万维网文档在因特网上的各种主机上显示出来,同时使用户知道在什么地方存在着链接?

    使用超文本标记语言HTML,使得万维网页面的设计者可以很方便地用连接从本页面的某处链接到因特网上的任何一个页面,并且还能在自己的主机屏幕上将这些页面显示出来。

  1. 统一资源定位符URL
  • URL相当于一个文件在网络范围的扩展。

    由于访问不同对象所使用的协议不同,URL还指出读取某个对象时所使用的的协议。

  • URL的一般形式组成: <协议>://<主机>:<端口>/<路径>

    <协议>指出使用什么协议来获取该万维网文档,最常使用的有超文本传输协议http和文件传输协议ftp;

    <主机>指出该万维网文档在哪一个主机上,指该主机在因特网上的域名;

    <端口>/<路径>有时可省略;

  • 对于万维网的网点的方位要用http。

http的默认端口号是80,通常可以省略,若再省略文件的<路径>,则URL就指到因特网的某个主页。

例如要查清华大学的主页,URL为http://www.tsinghua.edu.cn; 清华大学的院系设置页面:http://www.tsinghua.edu.cn/chn/yxsz/index.htm chn/yxsz为指向文件的路径,index.htm为文件名

  1. HTTP

3.1 http的操作过程

每一个万维网网点都有一个服务器进程,它不断的监听TCP的端口号80;一旦监听到连接建立请求并建立了TCP连接后,浏览器就向万维网服务器发出浏览某个页面的请求,服务器接着返回所请求的页面作为响应;最后tcp释放。

  • http使用了面向连接的TCP作为传输层协议,保证了数据的可靠传输。 但是,http本身是无连接的,虽然http使用了TCP连接,但通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
  • HTTP协议是无状态的,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的相同。HTTP的无状态简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。

3.2 浏览器请求一个万维网到收到整个文档所需要的时间:该文档的传输时间 + 2往返时间 (2RTT: 建立TCP连接+请求和接收万维网文档);

3.3 HTTP/1.0的主要缺点

(1)每请求一个文档就要两倍RTT的开销

(2)万维网客户和服务器为每一次建立新的TCP连接都要分配缓存的变量,当要服务大量客户的请求时,万维网服务器的负担会很重。

3.4 HTTP/1.1

HTTP/1.1使用持续连接解决了上面的问题。万维网服务器在响应之后仍然在一段时间内保持连接。 持续连接的两种工作方式: (1)非流水线方式:客户收到上一个响应之后才能发出下一个请求。服务器在发送完一个对象之后,其TCP处于空闲状态,会浪费服务器资源。 (2)流水线方式:客户收到HTTP的响应报文之前就能够接着发送新的请求报文。流水线方式使TCP连接中的空闲时间减少,提高了文档下载效率。