C/S架构与B/S架构

时间:2024-03-23 08:11:07

C/S架构

我们将 客户端/服务器端 架构的系统称之为C/S架构。C/S架构分为客户端和服务器端两层,用户在客户端(自己的电脑)中安装软件,通过网络实现与服务器端相互通信的行为。
使用该架构的应用例子为:腾讯QQ、QQ音乐、英雄联盟、Steam、腾讯视频等

tip:电脑本机创建的文件夹、文档等文件,包括我的电脑、网络、回收站在内都不是C/S架构

优势

1.UI对用户更加友好
2.速度更快,更加安全

劣势

1.用户群固定,使用该产品需要客户先下载客户端
2.维护成本高,每次更新每个用户都需要手动升级

C/S架构通信原理

由于博主学习的是B/S架构,尚未深入了解C/S架构通信原理,如有需要可自行百度,或参考以下文章:
Socket通信原理
Socket通信原理简单理解

B/S架构

我们将浏览器端/服务器端架构的系统称之为B/S架构。B/S架构分为浏览器端和服务器端两层,用户只需要能够连接网络并且安装了一款浏览器即可与服务器互相通信。
使用该架构的应用例子为:淘宝网、京东、csdn网页版、英雄联盟官网等
tip:动态网页就是B/S架构,静态不是

优势

1.用户只需要有浏览器即可,不需要安装客户端
2.用户更容易访问,可以直接将应用放在广域网上
3.维护只需要在服务器端进行即可,客户端刷新就是最新的版本

劣势

1.需要照顾到不同浏览器的差异
2.UI很难做到如C/S架构般精美
3.在性能和安全上需要花费巨大的设计成本,这也是B/S最大的问题
4.B/S架构大部分行为执行后都需要刷新页面,而这对用户来说并不友好(因为ajax该问题得到了一定改善)

B/S架构通信原理

在B/S架构中,浏览器端与服务器端采用请求/响应模式进行交互。
首先,用户需要产生一个行为(请求),比如访问某个网址、点击登录按钮、点击某个链接.
而任何一个行为都会使浏览器向服务器端发送一个请求,这个请求你可以当做一份数据,该数据中会包含此次请求的各种信息,比如:用户名、密码、当前网址、所填写的信息等
这些数据会先被应用服务器接收,之后由其中的脚本语言(Java、php等)做数据处理,比如审核数据是否不符合要求、数据是否是安全的等
最终由数据库服务器端通过应用服务器端向客户端返回一个响应,你同样可以将该响应看做一份数据.
tip:当你访问一个网页的时候,也可以看做一个请求,而响应的就是你访问到的整个网页,响应文件则是HTML+CSS+JS等
tipp:由谷歌浏览器举例,你可以通过F12,之后点击NetWork,然后ctrl+R刷新页面看到从访问该页面到最终页面完成访问后通过请求/访问得到的所有文件及请求/响应的相应信息
C/S架构与B/S架构

目录指引

JSP+Servlet——由浅入深及问题总结

最后更新于2019年4月23日
原创不易,如果该文章对你有所帮助,望左上角点击关注~如有任何技术相关问题,可通过评论联系我讨论,我会在力所能及只能进行相应回复以及开单章解决该问题.

该文章如有任何错误请在评论中指出,感激不尽,转载请附出处!
个人博客首页:https://blog.csdn.net/yjrguxing ——您的每个关注和评论都对我意义重大