客户端与服务端架构

常见架构:

C/S架构:Client/Server(客户端/服务器)结构
客户端与服务端架构_第1张图片
需要服务器端部署;用户单独安装客户端,客户端软件升级,服务器端要为每个用户服务!!!可以单机不连网使用。
B/S架构:Browser/Server(浏览器/服务器)结构
客户端与服务端架构_第2张图片
需要服务器端部署;浏览器访问;服务器端负责全部逻辑;升级方便;必须连网使用。
CS/BS本质相同,都是客户端与服务器通信,只是表现为不同的形式,BS架构的软件客户端固定是浏览器。

服务器:

提供服务的端,包括“业务逻辑”的处理。
硬件上说的服务器指一台或多台电脑;
软件上说的服务器指web服务器,如Apache,对外发布服务,来提供服务,安装在硬件上使用。对于简单的Apache,就是给电脑开一个web服务,设置端口,客户端可以通过浏览器访问该服务器电脑。JaveEE写的web的项目,部署到web服务器上后,客户端才能访问这些项目。
比如,用户在Firefox浏览器中输入百度ip,浏览器中弹出来百度首页后,搜索Python,这时候会得到Python相关的网页,此时,搜索用户就是在接受百度服务器端的服务。这时候,Firefox是用户的客户端,服务器端是远端的百度的电脑。
客户端与服务端架构_第3张图片
JaveEE作用:接收到客户端访问信息;调度中转web服务器与其余服务器的联系传递信息、服务器业务逻辑;把搜索结果返回客户端:html,json,xml。(服务器返回的是html——BS;json&xml_CS,浏览器再把这些文本语言翻译出我们看到的样子)

客户端:

请求服务的端,用户使用的端。
硬件上说的客户端指电脑、手机、pad等;
软件上说的客户端指IE浏览器、QQ、暴风影音等。
通过浏览器客户端访问淘宝,会返回整个网页的html文本,html文本里很多样式是修饰属性;而对于手机客户端,性能有限,主要关注数据信息(xml、json数据传输格式),不需要过多html的修饰。

服务器与客户端通信:

1.)服务器与客户端建立连接的方式:

ftp:文件传输协议(学校里下载文件)
http:(超)文本传输协议(get请求、post请求)
https:安全文本传送协议,加密
P2P:点到点,端到端,文件传输协议

2.)建立连接后,客户端数据提交方式:

提交不带参数的请求http://www.baidu.com/
提交带简单键值对参数的请求(?后,键fr,值aladdin)
https://baike.baidu.com/item/iOS/45705?fr=aladdin
提交带复杂json/xml键值参数的请求

3.)建立连接后,服务器数据返回格式:

HTML(浏览器)
JSON,XML(客户端软件)
参考http://www.webxml.com.cn/zh_cn/web_services.aspx
客户端与服务端架构_第4张图片
客户端与服务端架构_第5张图片

你可能感兴趣的:(web服务框架)