万维网 WWW (World Wide Web)并非某种特殊的计算机网络,而是一个大规模的、联机式的信息储藏所。
万维网用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息。这种访问方式称为“链接”。
万维网以客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也称为万维网服务器。
客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。
统一资源定位符URL
统一资源定位符URL (Uniform Resource Locator)使每一个文档在整个因特网的范围内具有唯一的标识符。
由以冒号隔开的两大部分组成,并且在 URL中的字符对大写或小写没有要求。
URL 的一般形式是:
<协议>://<主机>:<端口>/<路径>
协议就是指是用什么协议来获取万维网文档。现在最常用的协议就是http,其次是ftp。
超文本传送协议HTTP
HTTP协议定义了浏览器怎样向万维网服务器请求万维网文档,以及服务器怎样把文档传送给浏览器。
从层次的角度看,HTTP 是面向事务的(transaction-oriented)应用层协议,它是万维网上能够可靠地交换文件(包括文本、声音、图像等各种多媒体文件)的重要基础。
万维网的大致工作过程如下:
每个万维网网点都有一个服务器进程,它不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立的请求并建立了TCP连接之后,浏览器就向万维网服务器发出某个页面的请求,服务器接着就返回所请求的页面作为响应。最后,TCP连接被释放。
假如我们点击了一个指向“www.tsinghua.edu.cn/chn/yxsz/index.htm”的超链接,在HTTP/1.0标准下会发生下面几个事件:
(1) 浏览器分析超链指向页面的 URL。
(2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn的 IP 地址。
(3) 域名系统 DNS 解析出清华大学服务器的 IP地址。
(4) 浏览器与服务器建立 TCP连接
(5) 浏览器发出取文件命令:
GET /chn/yxsz/index.htm。
(6) 服务器给出响应,把文件 index.htm发给浏览器。
(7) TCP 连接释放。
(8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本。
HTTP 1.0 协议是无状态的(stateless)。也就是说,同一个客户第二次访问同一个服务器上的页面时,服务器的响应与第一次被访问时的响应相同。服务器不记得曾经访问过的这个用户,更不记得访问过多少次。
HTTP 协议本身也是无连接的,虽然它使用了面向连接的 TCP 向上提供的服务。虽然HTTP使用了TCP连接,但是通信的双方在交换HTTP报文之前不需要先建立HTTP连接。
与HTTP/1.0不同,HTTP/1.1使用了持续连接。即万维网服务器在发送响应后仍然在一段时间内保持这条连接,使同一个客户(浏览器)和该服务器可以继续在这条连接上传送后续的 HTTP 请求报文和响应报文。
这并不局限于传送同一个页面上链接的文档,而是只要这些文档都在同一个服务器上就行。
HTTP有两类报文:
请求报文——从客户向服务器发送请求报文。
响应报文——从服务器到客户的回答。
请求报文的结构如下:
报文由三个部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行。
响应报文的结构如下:
响应报文的开始行是状态行。状态行包括三项内容,即 HTTP 的版本,状态码,以及解释状态码的简单短语。
状态码都是三位数字:
1xx 表示通知信息的,如请求收到了或正在进行处理。
2xx 表示成功,如接受或知道了。
3xx 表示重定向,表示要完成请求还必须采取进一步的行动。
4xx 表示客户的差错,如请求中有错误的语法或不能完成。
5xx 表示服务器的差错,如服务器失效无法完成请求。
代理服务器
代理服务器(proxy server)又称为万维网高速缓存(Webcache),它代表浏览器发出 HTTP 请求。
万维网高速缓存把最近的一些请求和响应暂存在本地磁盘中。当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要按 URL 的地址再去因特网访问该资源。
使用高速缓存可减少访问因特网服务器的时延,没有使用高速缓存的示意图如下:
使用高速缓存的情况如下:
(1)浏览器访问因特网的服务器时,要先与校园网的高速缓存建立 TCP 连接,并向高速缓存发出HTTP 请求报文
(2)若高速缓存已经存放了所请求的对象,则将此对象放入HTTP 响应报文中返回给浏览器。
(3)否则,高速缓存就代表发出请求的用户浏览器,与因特网上的源点服务器建立 TCP 连接,并发送 HTTP 请求报文。
(4)源点服务器将所请求的对象放在 HTTP 响应报文中返回给校园网的高速缓存。
(5)高速缓存收到此对象后,先复制在其本地存储器中(为今后使用),然后再将该对象放在HTTP 响应报文中,通过已建立的TCP 连接,返回给请求该对象的浏览器。
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/u012152619/article/details/48683793