6.2.8 网络基本服务----万维网(www)
万维网即www(World Wide Web)是开源的信息空间,使用URL也就是统一资源标识符标识文档和Web资源,使用超文本链接互相连接资源,万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息储藏所,使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点,从而主动地按需获取丰富的信息,万维网的访问方式称为**“链接”**,Web是信息时代发展的核心,它使数以亿计的人们用来在因特网上交互的主要工具。
Web是英国科学家蒂姆·伯纳斯-李在1989发明的,1990年蒂姆·伯纳斯-李在瑞士欧洲核子研究中心工作室编写了第一个Web浏览器。
网页主要使用超文本标记语言HTML格式化和注释的文本文档,除了格式化的文本,网页还包含图片、视频和软件组件,他们作为由多媒体内容组成的连贯的页面,呈现在用户浏览器中。
如图
网页中嵌入的超链使用户能够在网页间导航,具有共同主题、共同域名或者二者都相同的多个网页可以被称为一个网站WebSite,网站内容主要由网络发行商或者是互动来提供,互动中由用户提供内容,或者用户及其动作产生内容,网站大多数是提供信息的,也可能主要是为了娱乐,或是商业目的。
一、万维网的工作方式
万维网一客户服务器方式工作。浏览器就是在用户计算机上的万维网客户程序。万维网文档所驻留的计算机则运行服务器程序,因此这个计算机也被称为万维网服务器。客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。在一个客户程序主窗口上显示出的万维网文档称为页面(page)。
二、万维网必须解决的问题
-
怎样标志分布在整个因特网上的万维网文档?
使用统一资源定位符URL(Uniform Resource Locator)来标志万维网上的各种文档,使每一个文档在整个因特网的范围内具有唯一的标识符URL。
-
用什么协议实现万维网上各种超链的链接?
- 在万维网客户程序与万维网服务器程序之间进行交互所使用的协议,是超文本传送协议HTTP(HyperText Transfer Protocol)。
- HTTP是一个应用程协议,它使用TCP连接进行可靠的传送。
-
怎样使各种万维网文档都能在因特网上的各种计算机显示出来,同时使用户清楚的知道在什么地方存在着超链?
超文本标记语言HTML(HyperText Markup Language)使得万维网页面的设计者可以很方便地用一个超链从本页面的某处链接到因特网上的任何一个万维网页面,并且能够在自己的计算机屏幕上将这些页面显示出来。
-
怎样使用户能够很方便地找到所需的信息?
为了在万维网上方便地查找信息,用户可以使用各种搜索用具,如百度、谷歌
三、统一资源定位符URL
统一资源定位符URL是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。
URL给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。
只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。
URL相当于一个文件名在网络范围的扩展。因此URL是与因特网相连的机器上任何可访问对象的一个指针。
URL由以冒号隔开的两大部分组成,并且在URL中的字符对大写或小写没有要求。URL的一般形式是:
URL中的主机是存放资源的主机,也就是前面我们学习的在因特网中的域名(6.2.1 网络基本服务—域名解析系统DNS),当端口为默认值时,端口可以省略不写,路径也可以省略。使用HTTP访问方式时如果省略路径的话就相当于访问Web服务器根目录上的默认文档,该文档也被成为首页或者主页。
四、超文本、超媒体、超文本传送协议HTTP
Ted Nelson 1963年新创了hypertext和hypermedia
-
超文本(hypertext)是显示在计算机或其他电子设备商,具有超链(hyperlink)指向其他文本的文本。
<a href = "http://www.w3.org">W3C organization website</a>
超文本页面通过超链相互连接,用户通过超链能够立即访问其他文本,一般通过鼠标点击、按键或者触摸屏幕激活超链。
-
超媒体(hypermedia)是超文本的扩充,是含有超链的图片、视频和声音以及文本的复合体。
超文本与超媒体的区别是文档内容不同,超文本文档仅包含文本信息,而超媒体文档除了包含文本还包含其他表示方式的信息如。图片、图像、动画以及声音,目前超文本也常用于使用超媒体更合适的地方,也就是说超文本这个术语更常用。
万维网是分布式超媒体(hypermedia)系统。超文本、超媒体页面通过超链接相互连接。访问页面需要使用HTTP协议,它是万维网客户程序与服务器程序进行交互所使用的协议。
HTTP是面向事务的(transcation-oriented)应用层协议,是在万维网上可靠地交换文件(各种多媒体文件)的重要基础。
五、HTTP的工作过程
如图
- 先建立一个TCP连接
- 在连接上发送HTTP请求报文
- 服务器收到HTTP请求后将请求的资源发送给客户。
- 在一条个TCP连接上,可以传送多对的HTTP请求与响应报文,传输完毕后释放TCP连接。
六、示例
我们通过一个示例来了解一下用户点击超链后发生了哪些事件。
-
浏览器分析超链指向页面“CSDN”的URL。
-
浏览器向DNS服务器请求解析www.csdn.net的IP地址
-
域名系统解析出CSDN的Web服务器的IP地址
-
浏览器与Web服务器建立TCP连接
-
浏览器发出取文件HTTP请求:
GET/s/222/t/1100/41/fd/info82429.htm HTTP/1.1
-
Web服务器做出响应,把文件info82429.htm发送给浏览器
-
TCP连接释放
-
浏览器显示info82429.htm中的所有文本
这里需要注意的是这里只是给出了info82429.htm文件的下载过程,其实当前一个网页一般都包含多个元素也被称为对象,有HTML文档、图片、JS文档、CSS文档,打开一个网页时会涉及多个对象的下载,每个对象需要用一对HTTP请求与响应报文来传送。我们可以使用浏览器自带的捕获工具捕获的下载网页流量摘要可以看出页面的下载包含一个HTML文档,多个脚本,和多个图片的下载,这些网页元素基于若干个TCP连接来下载,每个TCP连接下载一个或者多个元素。