2 wild84 wild84 于 2018.01.03 09:56 提问

bs架构和cs架构前后端通讯的异同?

教材及书本上的bs架构代码所传输的json数据都是没有加密和解密,压缩及解压机制的.
而cs架构都是以数据包的形式通讯,有包头,包尾,数据长度,等信息经过加密压缩解压解密
进行通讯.感觉上cs架构更安全点?那么bs架构如何像cs架构一样以数据包的形式通讯呢?

6个回答

u014762921
u014762921   2018.01.04 00:30
已采纳

BS是常见的浏览器模式,一般都是HTTP和HTTPS的。
HTTP基本是明文,加密的话一般就是MD5而已,不咋安全。
HTTPS是RSA和AES加密的结合,通过数字信封传递密钥,是比较安全的,缺点是速度慢。

CS可以用各种各样的协议,用HTTP就和BS是一样的了
如果是简单应用Socket就能解决需求,这种传输基本是明文,所以安全性不咋地。

所以,使用CS使用RPC框架比较合适,比如常用的:ThriftRPC、GRPC、AvroRPC都是不错的RPC框架。
由于序列化方式的存在,在网络中传输的数据包都是序列化过后的,基本解不开。

另外如果觉得还是不放心,自己实现一套数字信封的机制,用非对称加密交换对称密钥,用对称密钥进行数据交互。

比如。用RSA密钥加密AES密钥,用AES密钥来加密数据信息。这样基本上是解不开的。

因为目前看来,除了量子计算机,RSA是解不开的。

另外,RPC的性能比HTTP强的多。一般内部系统都是RPC解决,对外才用方便易懂的HTTP

bdmh
bdmh   Ds   Rxr 2018.01.03 10:29

b s现在很常用的就是http请求,返回json或xml格式,前端解析,至于加密,那随你,你可以对内容加密,也可以使用https方式

radarchina
radarchina   2018.01.03 14:10

bs也是cs架构,区别就是b就是客户端浏览器,也就是cs的c端,web服务区就是s端,而我们常说的cs架构指的是客户端和服务端都要自己开发。
你可以认为bs就是两端分别被浏览器和web服务器(iis\apache等待)代理了而已,不需要你自己开发。
http是浏览器和web服务器数据交换的协议,表示的数据本身的格式(而不是传输的格式),是明文传输的(也可以采用https加密),但是任何数据最终都会被操作系统(网络层或socket)转换成二进制流来传输。

kw269937519
kw269937519   2018.01.03 10:06

书上还有没有说所有数据传输的基础都是二进制传输?

u010407189
u010407189 cs是客房端服务器模式;bs是浏览器服务器模式。它们最主要的区别是cs架构的应用程序需要在用户的计算机上进行安装。如我们常用的word,excel等应用软件属于cs架构;而bs架构的应用程序不需要在用户的计算机上进行安装,只需要有一个浏览器就可以运行bs架构的应用程序
4 个月之前 回复
qq_41578770
qq_41578770 回复wild84: 书上有数据传输的基础都是二进制传输?
4 个月之前 回复
wild84
wild84 那是物理层的实现,但是bs没有加密解密就感觉不安全啊
4 个月之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2018.01.03 11:16

bs也可以加密,例如非对称加密算法,cs通讯可以加密的,bs一样可以

u010407189
u010407189   2018.01.03 12:35

cs是客房端服务器模式;bs是浏览器服务器模式。它们最主要的区别是cs架构的应用程序需要在用户的计算机上进行安装。如我们常用的word,excel等应用软件属于cs架构;而bs架构的应用程序不需要在用户的计算机上进行安装,只需要有一个浏览器就可以运行bs架构的应用程序

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!