1.3 理解Web内容递送
在许多不同的位置会发生多个过程,最终将产生你可以查看的Web内容。这些过程将发生得非常快(以毫秒级的速度),并且是在幕后发生的。换句话说,尽管我们可能认为我们所做的全部事情是打开Web浏览器,输入一个Web地址,并立即查看所请求的内容,后台的技术就会代表我们努力工作。图1.1显示了浏览器与服务器之间的基本交互。
https://yqfile.alicdn.com/8a593be461bd1bdfcdf5727a087d4de797b170a5.png" >
不过,在看到所请求的站点的全部内容之前,这个进程将会涉及多个步骤,并且可能在浏览器与服务器之间会往返多次。
假设你想执行Google搜索,必然会在地址栏中输入 “http://www.google.com” ,或者从书签列表中选择Google书签。浏览器几乎立即就会显示如图1.2所示的内容。
https://yqfile.alicdn.com/279d2e53170c6c5b77b74ca4a53e0667c1a443cc.png" >
图1.2显示了一个包含文本以及一幅图像(Google标志)的Web站点。用于从Web服务器获取文本和图像、并将其显示在屏幕上的过程的简单版本如下。
1.Web浏览器发送一个对位于www.google.com地址上的index.html的请求。index.html不必是在地址栏中输入的地址的一部分,在学习本章后面的内容时,将会了解关于index.html的更多知识。
2.在收到对特定文件的请求后,Web服务器进程将在其目录内容中寻找特定的文件,打开它,并把该文件的内容发送回Web浏览器。
3.Web浏览器接收index.html的内容,它是利用HTML代码标记的文本,并基于这些HTML代码呈现内容。在呈现内容时,浏览器将遇到用于Google标志的HTML代码,在图1.2中可以看到该标志。HTML代码看起来如下所示。
<img alt="Google" src="/images/srpr/logo4w.png" width="275"height="95" />
这个HTML标签提供了一些属性,告诉浏览器显示这个标志所必需的信息:文件源地址(src)、宽度(width)、高度(height)、边框类型(border)和替换文本(alt)。在后面的课程中将会学习到关于属性的更多知识。
4.浏览器查看< img />标签中的src属性,查找源位置。在这种情况下,可以在与浏览器获取HTML文件相同的Web地址( www.google.com )上的images目录中找到logo3w.png图像。
5.浏览器请求Web地址 http://www.google.com/images/srpr/logo4w.png 上的文件。
6.Web服务器解释请求,找到文件,并把该文件的内容发送给请求它的Web浏览器。
7.Web浏览器在显示器上显示图像。
在Web内容递送过程的描述中可以看到,Web浏览器所做的不仅仅是充当用于查看内容的图片框架。浏览器将会依据文件中的HTML命令组合Web内容成分,并排列那些部分。
也可以在本地或者在你自己的硬盘驱动器上查看Web内容,从而无需Web服务器。获取和显示内容的过程与上述步骤中列出的步骤相同,这是由于浏览器将寻找并解释HTML文件的代码和内容,但是往返行程更短,浏览器将在你自己的计算机的硬盘驱动器上(而不是在远程机器上)寻找文件。如果文件中嵌入了任何基于服务器的程序设计语言,将需要Web服务器解释它们,但是这超出了本书的范围。事实上,无需拥有自己的Web服务器,就可以顺利学完本书中的所有课程,但是这样的话,除你之外其他任何人都无法查看你的杰作。