01 Web应用模式&&API接口 蜗牛
一、web应用
1.web应用程序是什么?
Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。
2.web应用程序的模式
应用程序有两种模式C/S、B/S。
C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。
C/S架构
c:client 客户端
s:server 服务端
B/S架构
b:browser 浏览器
s:server 服务端
本质上b/s也是c/s
3.web应用程序的优点
1.网络应用程序不需要任何复杂的“展开”过程,你所需要的只是一个适用的浏览器;
2.网络应用程序通常耗费很少的用户硬盘空间,或者一点都不耗费(节省客户端资源);
3.它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端(只需要更新服务端,立马影响客户端);
4.网络应用程序和服务器端的网络产品都很容易结合,如email功能和搜索功能;
5.因为它们在网络浏览器窗口中运行,所以大多数情况下它们是通过跨平台使用的 (例如Windows,Mac,Linux等等)
4.web应用程序的缺点
1.网络应用程序强调浏览器的适用性。如果浏览器方没有提供特定的功能,或者弃用特定的平台或操作系统版本(导致不适用),就会影响大量用户;(谷歌浏览器,火狐浏览器,ie浏览器,360浏览器。。。)
2.网络应用依靠互联网远程服务器端的应用文件。因此,当连接出问题时,应用将不能正常使用(服务端宕机,客户端也立马宕机,不能访问)。
5.Web框架
Web框架(Web framework)是一种开发框架,用来支持动态网站、网络应用和网络服务的开发。这大多数的web框架提供了一套开发和部署网站的方式,也为web行为提供了一套通用的方法。web框架已经实现了很多功能,开发人员使用框架提供的方法并且完成自己的业务逻辑,就能快速开发web应用了。浏览器和服务器的是基于HTTP协议进行通信的。也可以说web框架就是在以上十几行代码基础张扩展出来的,有很多简单方便使用的方法,大大提高了开发的效率。
二、Web应用模式
在开发Web应用中,有两种应用模式:
1.1 前后端不分离:返回的是html的内容,需要写模板
1.2 前后端分离:只专注于写后端接口,返回json,xml格式数据
二 API接口
为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本。
通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介
Web API接口和一般的url链接还是有区别的,Web API接口简单概括有下面四大特点
-
url:长得像返回数据的url链接
-
请求方式:get、post、put、patch、delete
- 采用get方式请求上方接口
-
请求参数:json或xml格式的key-value类型数据
- ak:6E823f587c95f0148c19993539b99295
- region:上海
- query:肯德基
- output:json
-
响应结果:json或xml格式的数据
-
上方请求参数的output参数值决定了响应数据的格式
-
数据
-
# xml格式 https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=%E4%B8%8A%E6%B5%B7&query=%E8%82%AF%E5%BE%B7%E5%9F%BA&output=xml #json格式 https://api.map.baidu.com/place/v2/search?ak=6E823f587c95f0148c19993539b99295®ion=%E4%B8%8A%E6%B5%B7&query=%E8%82%AF%E5%BE%B7%E5%9F%BA&output=json { "status":0, "message":"ok", "results":[ { "name":"肯德基(罗餐厅)", "location":{ "lat":31.415354, "lng":121.357339 }, "address":"月罗路2380号", "province":"上海市", "city":"上海市", "area":"宝山区", "street_id":"339ed41ae1d6dc320a5cb37c", "telephone":"(021)56761006", "detail":1, "uid":"339ed41ae1d6dc320a5cb37c" } ... ] }
-