Web应用程序概述
问题1:我们在打开浏览器,在浏览器地址栏中输入正确的网络地址就可以浏览网页,这是如何做到的?
问题2:想要播放电视剧或者电影,有时可以直接在网页中打开,有时又需要打开专门的播放器软件,这两种方式有什么区别?
1.1 Web应用程序的工作原理
万维网(WWW,World Wide Web),也常常简称为Web。
用户访问资源的步骤:
(1)在浏览器地址栏输入网址
(2)浏览器向目标服务器发出请求
(3)服务器接收到请求后进行业务处理,生成处理结果
(4)服务器将处理结果返回给浏览器
(5)浏览器以网页的形式将结果展示给用户
其中:
-
用户输入的网址称为统一资源定位符(URL),是资源存放在网络上的唯一地址。
-
浏览器与服务器之间的交互方式需要遵循超文本传输协议(HTTP),协议指定浏览器发送给服务器什么请求以及得到什么响应。
1.2 C/S架构和B/S架构
1.2.1 C/S架构
C/S架构(Client/Server Architecture)是指客户端/服务器架构,它是一种传统的网络架构模型。在C/S架构中,软件系统被分为客户端和服务器两个部分。客户端是指用户使用的界面和应用程序,而服务器则负责存储和处理数据、执行业务逻辑,并向客户端提供服务。客户端和服务器通过网络连接进行通信,客户端向服务器发送请求,服务器处理请求并返回结果给客户端。这种架构模型通常用于需要大量数据处理和复杂业务逻辑的应用,如数据库管理系统、企业资源规划系统等。
C/S架构的主要特点:
-
交互性强
-
具有安全的存取模式
-
响应速度快
-
缺少通用性
-
系统维护、升级需要重新设计和开发
1.2.2 B/S架构
B/S架构(Browser/Server Architecture)是指浏览器/服务器架构,它是一种相对较新的网络架构模型。在B/S架构中,用户通过浏览器访问Web应用程序,Web服务器负责存储和处理数据、执行业务逻辑,并向浏览器提供服务。与C/S架构不同的是,B/S架构中客户端无需安装额外的应用程序,只需通过浏览器即可访问Web应用。这种架构模型通常用于互联网上的各种Web应用,如在线购物网站、社交媒体平台等。
B/S架构的主要特点:
-
是对C/S架构的一种改进
-
无须安装专门的客户端程序
-
当需要修改用户界面时,只修改服务端相应的网页文档即可
二、HTTP(超文本传输协议)
2.1 HTTP概述
HTTP(超文本传输协议)是一种用于传输超文本文档(如HTML)的应用层协议,它是Web上数据传输的基础。HTTP使用客户端-服务器模型,客户端发起请求,服务器响应请求,并在它们之间进行交互。
HTTP是一种无状态协议,这意味着每个请求都是相互独立的,服务器不会在请求之间保留任何关于客户端的信息。为了实现状态管理,通常需要使用cookie等机制。
此外,随着时间的推移,HTTP协议也经历了多个版本的更新,包括HTTP/1.0、HTTP/1.1和最近的HTTP/2。这些更新旨在提高性能、安全性和可靠性,以适应不断增长的互联网需求。
① HTTP请求—响应模型
HTTP主要由请求和响应构成,如下图。客户端在和服务器建立连接后可以发起请求,请求通常会包含请求的方式和资源路径,每种请求方式都规定了客户端与服务器联系的具体形式。服务器接收到请求后会做出响应,可以根据请求找到对应的资源进行处理:若为静态资源,则直接将资源的内容发送给客户端;若为动态内容和程序,则进行执行,把处理后的结果以HTML的形式发送给客户端。