2.1.1 HTTP 协议
Web 浏览器除了可以从本地硬盘上打开网页文档外,还可以使用 HTTP 网络协议从网络上的 Web 服务器(WWW 服务器)上获取网页文档的内容。如图所示。
Web 浏览器与 Web 服务器分别代表着 TCP 网络程序的客户机和服务器。Web 浏览器与 Web 服务器的交互过程也得遵循一定的规则,这个规则就是 HTTP 协议。Web 浏览器与 Web 服务器建立 TCP 网络连接后,Web 浏览器按照 HTTP 协议的规定向 Web 服务器发出请求信息,Web 服务器接收到浏览器的请求后,再按照 HTTP 协议的要求将结果发送给 Web 浏览器。在正常情况下,Web 服务器返回的结果中包含 Web 浏览器请求的网页文档内容,Web 浏览器接收到这些内容后,再进行解释和翻译。
2.1.2 URL
URL,即 Uniform Resource Locator 的英文简写,翻译成中文就是统一资源定位符。URL 用于唯一标识 Web 服务器中的每一个网页文件,以便 Web 浏览器能够定位到它。URL 地址中包含 Web 服务器主机名或 IP 地址、文件(或其他资源)路径名称,以及使用的网络协议和端口号。关于 URL 的详细信息,先看张孝祥老师的 《JavaScript 网页开发》一书。
2.1.3 主要的 Web 服务器软件
无论网站规模的大小,最起码的工作就是要在用作 Web 服务器的计算机上安装某种 Web 服务器软件。目前主要的两种 Web 服务器软件是 Microsoft Internet Information Server(简称 IIS)和 Apache,但是它们都不直接支持 Servlet 和 JSP。要想在这些 Web 服务器软件中运行 Servlet 和 JSP,还必须将它们与某种 Servlet 和 JSP 容器(引擎)进行集成。
Tomcat 是 Sun 公司推荐使用的运行 Servlet 和 JSP 的容器,它可以被集成到 IIS 和 Apache 中。另外,Tomcat 也具有 Web 服务器的一些基本功能,对于一般的应用情况,也可以直接将 Tomcat 作为 Web服务器软件运行。
2.1.4 网站系统的组成
只要在一台计算机上安装了 Web 服务器软件,从功能上讲,这台计算机就可以称为 Web 服务器。一个网站的规模可大可小,功能可多可少,最简单的网站只需要一台 Web 服务器即可对外提供网页浏览服务。复杂的网站包括多台 Web 服务器组成的集群系统、负载均衡设备、具有缓冲功能的代理服务器(可以有多级,甚至包括放置在服务器端的缓存系统)、数据库系统等,如图所示。
www.sina.com 网站系统目前采用的基本上就是下图所示的架构,不同地区的人们在访问 www.sina.com 站点时,浏览器实际上所访问的服务器是不一样的。例如,吉林省的用户访问的服务器实际是 Sina 放在吉林地区的代理服务器,湖北省的用户访问的服务器实际是 Sina 放在湖北地区的代理服务器。各地区的浏览器访问 www.sina.com 站点的过程如下图所示。
为了能够让浏览器透明地访问到 Web 站点,让用户感觉不到是在访问区域代理服务器,在 DNS 系统中需要将 www.sina.com 主机名指向所有区域的代理服务器的 IP 地址。在浏览器访问 www.sina.com 站点中的页面而向 DNS 服务器请求解析 www.sina.com 主机名时,DNS 服务器根据访问者的地理位置信息返回他附近的区域代理服务器的 IP 地址,这样,浏览器的访问请求将发送给该区域代理服务器。只有当区域代理服务器中没有浏览器要访问的页面时,区域代理服务器才会真正的从 www.sina.com 站点服务器上获取该页面并进行缓存,以后该区域的其他浏览器就都可以就近从区域代理服务器中访问该页面,从而大大提高访问效率且减少骨干网络的流量。
====== 以上内容来源于 张孝祥老师的《深入体验Java Web开发内幕 》,记录下来,只作为个人读书笔记。===========