Java Web应用开发
上QQ阅读APP看书,第一时间看更新

1.1 Web应用程序概述

随着中国软件产业的普及和推广,人们的生活正在被网络悄然改变。如今,充话费、电费可以直接通过网络办理,付款可以通过扫描二维码完成……这些业务都需要使用Web技术才能实现,本节将对用户访问网络资源的流程进行详细讲解。

【提出问题】

我们打开浏览器,在浏览器地址栏输入正确的网络地址就可以浏览网页,这是如何做到的?想播放影视剧,有时可以直接在网页内打开,有时又需要打开专门的播放器软件,这两种方式有什么区别?

【知识储备】

1.1.1 Web应用程序的工作原理

万维网(WWW,World Wide Web),也常常简称为Web。这是一个巨大的资源集合,由基于客户机/服务器方式的信息发现技术和超文本技术的集合构成,用户访问资源的一般步骤如下。

(1)在浏览器地址栏输入网址。

(2)浏览器向目标服务器发出请求。

(3)服务器接收到请求后进行业务处理,生成处理结果。

(4)服务器将处理结果返回给浏览器。

(5)浏览器以网页的形式将结果展示给用户。

其中,用户输入的网址称为统一资源定位符(URL),是资源存放在网络上的唯一地址。浏览器和服务器之间的交互方式需要遵循超文本传输协议(HTTP),协议指定浏览器发送给服务器什么请求及得到什么响应。具体的工作原理如图1-1所示。

图1-1 Web应用程序的工作原理

1.1.2 C/S架构和B/S架构

C/S架构和B/S架构是目前Web开发中最流行的两种基本架构。

C/S 架构,即客户/服务器(Client/Server)架构,是早期出现的一种分布式架构。在这种架构中,多个客户端可以同时访问同一个数据库服务器。应用程序也分为客户端程序和服务端程序,服务端程序负责管理和维护数据资源,并接受客户端的服务请求,向客户端提供其所需的数据或服务。客户端需安装专用的客户端软件,负责计算数据并将结果呈现给用户。C/S架构的主要特点是交互性强、具有安全的存取模式、响应速度快,但是缺少通用性,系统维护、升级需要重新设计和开发。

B/S架构,即浏览器/服务器(Browser/Server)架构,是对C/S架构的一种改进。在这种架构下,客户端不需要开发专门的用户界面,也无须安装专门的客户端程序。用户使用浏览器(如Chrome、lE)向服务器发出请求,服务器接受用户请求并对此做出响应,将有关信息发送给用户的浏览器,由浏览器负责显示和交互处理。与C/S架构相比,B/S架构中用户操作的界面是由Web服务器创建的,当需要修改用户界面时,只修改服务端相应的网页文档即可。