文章目录
什么是万维网
万维网 (World Wide Web,WWW)是存储在Internet计算机中、数量巨大的文档的集合。这些文档称为页面,它是一种超文本(Hypertext)信息,可以用于描述超媒体。文本、图形、视频、音频等多媒体,也称为超媒体。
万维网利用网页之间的链接将不同网站的网页链接成一张逻辑上的信息网,从而用户可以方便的从internet上的一个站点去访问另一个站点 。
超媒体与超文本的区别
超文本文档只包含文本的信息,超媒体文档不仅包含文本的信息,还包含其他多媒体对象,如图片、视频、动画、音频等多媒体。
万维网的工作方式
万维网以C/S方式,即客户/服务器的方式工作。其中,浏览器就是在用户主机上的万维网客户程序。万维网文档(web文档)所驻留的主机则运行服务器程序,如IIS 、Apache、Nginx等。所以这个主机也叫作万维网服务器或者Web服务器。
当浏览器向web服务器发送出对某个Web文档的请求时,Web服务器返回浏览器请求的Web文档,浏览器将该文档在窗口中显示出来。Web文档呈现在浏览器窗口中的就是我们所说的网页和页面。
怎样对分布在Internet上的文档进行标记呢?
这里万维网使用了统一的资源定位符URL来标记万维网上的各种文档,并且使每一个文档在整个Internet的范围内具有唯一标识符的URL。
用什么样的协议来实现浏览器和万维网服务器之间文档的请求和响应呢?
为了使服务器和浏览器能够正常的进行请求和响应,就需要服务器和浏览器之间的交互遵守严格的协议,这就是超文本传输协议HTTP。HTTP是一个应用层协议,它使用TCP连接进行可靠传输。
怎样在万维网中写入超链接使得不同风格的万维网文档都能在因特网上的各种主机上显示出来?
万维网使用超文本标记语言HTML,使得万维网页面的制作者可以方便的用超链接从本页面的某处链接到Internet的任何一个万维万页面,并且页面能在任意浏览器的窗口中显示。
怎么方便的查找信息呢?
用户使用搜索引擎在万维网上查找信息。
统一资源定位符URL
统一资源定位系统(uniform resource locator;URL)是因特网的万维网服务程序上用于指定信息位置的表示方法。只有对资源定位,系统才可以对资源进行各种操作。如存取、更新、替换和查找其属性等。
URL的一般形式
两大部分组成,由冒号隔开。URL中的字符对大写或小写没有要求。
用户使用URL并非只能访问万维网页面,而且还能够通过URL使用其他的Internet应用程序,如FTP等。
超文本传输协议HTTP
HTTP定义了浏览器怎样向万维网服务器请求万维网文档,以及万维网服务器怎样把万维网文档传送给浏览器
万维网大致工作过程如下
HTTP协议使用传输层中的TCP协议来传输信息,并且使用了系统端口号80。万维网上的服务器进程不断地监听TCP的端口80,以便发现是否有浏览器向它发出连接建立请求。一旦监听到连接建立请求并建立了TCP连接之后,浏览器就向万维网服务器发出浏览器某个页面的请求,服务器接着就返回所请求的页面作为响应。通信结束后释放TCP连接。
当我们访问一个URL为www.baidu.com/index.html时会发生以下几个事件:
- 浏览器分析链接指向页面的URL
- 浏览器向DNS请求解析www.baidu.com的IP地址
- 域名系统DNS解析出百度服务器的IP地址为XXX.XXX.XX.XXX
- 浏览器与服务器建立TCP连接
- 浏览器发出取出文件命令:GET /index.html
- 服务器www.baidu.com给出响应,把文件index.html发送给浏览器
- 释放TCP连接
- 浏览器显示“百度”文件index.html发送给浏览器
HTTP使用了面向连接的TCP协议作为传输层协议,保证了数据的可靠传输。HTTP不必考虑数据在传输中被丢弃后和怎样被重传。虽然HTTP使用面向连接的TCP,但HTTP本身是一个无状态协议。无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP请求。使得HTTP要求服务器不保存客户的任何状态信息。服务器不保存任何客户状态信息,则同一个客户上一次对服务器的访问就不会影响他对服务器的下一次访问结果。这样使得服务器更容易支持大量并发的HTTP请求。
HTTP的非持续连接与持续连接
HTTP/1.0协议采用的非持续连接的方式,即一次请求或响应一次TCP连接。在非持续连接的方式中,浏览器每次请求一个文件都要与服务器建立TCP连接,当收到响应后就立即关闭连接。
基本特点如下:
- 浏览器每发送一个请求,先建立TCP连接
- Web服务器在发送响应后就关闭这条连接
- 发送下一个请求需再建立TCP连接。完后再关闭
- 建立多次连接,多次关闭,效率太低
HTTP/1.1协议使用了持续连接。持续连接就是万维网服务器在发送响应后仍然保持这条连接,使同一个客户端(浏览器)和服务器能继续在这条连接上传送后续的HTTP请求报文和响应报文。
可分为两种方式:
流水线方式:在收到响应报文之前能够连续发送多个请求报文。
非流水线方式:在收到前一个响应后才能发出下一个请求。
万维网的文档
超文本标记语言HTML
超文本标记语言HTML是一种制作万维网页面的标准语言,它消除了不同计算机之间信息交流的障碍。
HTML文档的特点:
- 可以在万维网页面中插入图像
规定了链接的设置方法:
-
远程链接:可以是其他网站上的页面
-
本地链接:本计算机中的某一个文件或本文件中的某处。
HTML文档
静态文档
静态文档在被用户浏览的过程中,内容不会改变。(每次都一样)
动态文档
动态文档文档的内容是在浏览器访问万维网服务器时由应用程序动态生成。(内容根据需要不断变化)
动态文档和静态文档之间的主要差别体现在服务器一端。从浏览器的角度看,这两种文档并没有区别。
动态文档创建示意图如下
活动文档
活动文档是用以实现页面不断变化但又不必经常访问万维网服务器的技术。
一个活动文档就是一段程序或嵌入了程序脚本的HTML文档。
活动文档的更新由浏览器自己在本地完成,对网络带宽的要求较低,但其本身并不包括运行所需的软件。(需浏览器支持)
混合文档
万维网上的很多文档都是这三种文档的混合体。
万维网页面中:
- 一部分是用HTML编写的静态部分
- 一部分是用程序在服务器端动态生成的
- 一部分是可以在浏览器端运行的程序或程序脚本(活动文档)
B/S应用程序结构
浏览器/服务器(Browser/Server)方式,一种特殊的C/S方式。
利用动态和活动网页,通过通用的浏览器为用户提供人机交互的界面。
优点是用户不需要安装单独的应用程序,简化了应用的开发、维护和使用。
越来越多的网络应用采用B/S结构,例如购物网站、电子邮件、搜索引擎、博客等等。