1.3.1 浏览器与Web服务器之间的交互

浏览器与Web服务器之间的交互如图1-2所示。从图1-2中可以看出,HTTP是浏览器与Web服务器交互的核心。浏览器与Web服务器的交互过程大致如下。

(1)当浏览器用户打开浏览器,输入URL或者单击超链接后,实际上是浏览器请求访问Web服务器的某个资源文件。这个过程称为浏览器向Web服务器发出HTTP请求数据。

(2)Web服务器接收浏览器发出的HTTP请求数据,根据HTTP请求数据中信息(例如资源URL),通过分析得出该资源文件所在的物理位置,定位该资源文件。

(3)Web服务器“运行”该资源文件,将运行结果封装成HTTP响应数据,返回给浏览器。这个过程称为Web服务器向浏览器返回HTTP响应数据。

(4)浏览器接收Web服务器返回的HTTP响应数据,将其渲染到浏览器窗口。

图1-2 浏览器与Web服务器之间的交互

总之,浏览器是一种能够发出HTTP请求数据、接收HTTP响应数据的软件;而Web服务器是一种负责接收HTTP请求数据、返回HTTP响应数据的软件。这两种软件就像动物世界中的两种动物,一种喜欢主动,另一种喜欢被动;一种在努力地寻找猎物,另一种在静静地等待着猎物。它们之间通过网络相连。

作为浏览器,必须清楚地知道Web服务器上资源文件的具体位置。浏览器必须主动出击,Web服务器必须被动,只有当浏览器请求访问Web服务器上的资源文件时,Web服务器才会为之提供服务。