![Java Web应用开发](https://wfqqreader-1252317822.image.myqcloud.com/cover/204/53256204/b_53256204.jpg)
1.1 Web应用程序概述
随着中国软件产业的普及和推广,人们的生活正在被网络悄然改变。如今,充话费、电费可以直接通过网络办理,付款可以通过扫描二维码完成……这些业务都需要使用Web技术才能实现,本节将对用户访问网络资源的流程进行详细讲解。
【提出问题】
我们打开浏览器,在浏览器地址栏输入正确的网络地址就可以浏览网页,这是如何做到的?想播放影视剧,有时可以直接在网页内打开,有时又需要打开专门的播放器软件,这两种方式有什么区别?
【知识储备】
1.1.1 Web应用程序的工作原理
万维网(WWW,World Wide Web),也常常简称为Web。这是一个巨大的资源集合,由基于客户机/服务器方式的信息发现技术和超文本技术的集合构成,用户访问资源的一般步骤如下。
(1)在浏览器地址栏输入网址。
(2)浏览器向目标服务器发出请求。
(3)服务器接收到请求后进行业务处理,生成处理结果。
(4)服务器将处理结果返回给浏览器。
(5)浏览器以网页的形式将结果展示给用户。
其中,用户输入的网址称为统一资源定位符(URL),是资源存放在网络上的唯一地址。浏览器和服务器之间的交互方式需要遵循超文本传输协议(HTTP),协议指定浏览器发送给服务器什么请求及得到什么响应。具体的工作原理如图1-1所示。
![](https://epubservercos.yuewen.com/EFCBA5/31728839203143906/epubprivate/OEBPS/Images/figure-0013-0002.jpg?sign=1739556707-B6oQj3zIc2FGKhB0LtDXPZuTX25xA9lw-0-f77e185adabb71e5a4f804fa5ef3cef6)
图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服务器创建的,当需要修改用户界面时,只修改服务端相应的网页文档即可。