note.wcoder.com
wcoder GitHub

Table of Contents

万维网(WWW)

万维网以C/S方式,即客户/服务器的方式工作。其中,浏览器(web客户端)就是在用户主机上的万维网客户程序。万维网文档(web文档)所驻留的主机则运行服务器程序,如IIS 、Apache、Nginx等。所以这个主机也叫作万维网服务器或者Web服务器。

全称world wide web,又简称www、w3、web、环球网。(没有CDN,World Wide Wait,世界一起等待; )

万维网只是互联网的一部分功能,互联网还可以实现邮件收发等功能;
万维网并不等同互联网,万维网只是互联网所能提供的服务其中之一,是靠着互联网运行的一项服务。

一开始,大公司的每一台服务器做一个服务、有自己的公网ip、把自己的公网Ip绑定到不同的二级域名下面(邮件服务用mail.xxx.com, web站点用www.xxx.com),用户通过输入二级域名来确定使用哪一个服务器提供服务。但是现在服务器性能发展迅速、一台服务器就足以提供许多服务了、只需要使用端口号来区分使用的是什么服务,但是用户在网址前加www的习惯已经产生了,所以现在绑定域名时可以看的,网站会推荐你把一级域名和www的二级域名绑定到同一个ip上。

一、万维网概述

  • 万维网 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 的网站服务器为用户产生一个唯一的识别码。利用此识别码,网站就能够跟踪该用户在该网站的活动。

参考

万维网(WWW)

← Previous Next →
Less
More