赞
踩
Web 开发模式演变
早期时代(Servlet=JSP)
不适合复杂的业务逻辑
可维护性差
协作性差
难有交互
MVC时代
AJAX时代(HTML:WEB服务器、CSS,JS:应用服务器)
WEB服务器(CDN):安装了Web服务器应用的物理主机的泛称
应用服务器:能编译、运行JavaWeb业务代码的服务器
CDN:内容分发网络
SPA时代(前后端分离)
第一次前后端分离(MVVM)
后端 | 前端 | 前端 |
---|---|---|
服务器 | 服务器 | 浏览器 |
JAVA | NodeJS | JS+HTML+CSS |
服务层、提供数据接口、封装业务逻辑、维持数据稳定 | 跑在服务器上的JS;转发数据、串接服务;路由设计、控制逻辑;渲染页面,体验优化 | 跑在浏览器上的JS;JS/CSS加载和运行;DOM操作;共用模板、路由 |
NodeJS
REST:表现层状态转移,一个符合REST设计的架构就可以称为RESTful架构
什么是REST?
REST六大约束
客户端-服务器:关注点分离、提高服务端简单性、客户端可移植性
无状态协议:会话信息保存在客户端,请求要包含所有信息而不依赖于上下文,提升服务端简单性、可靠性、可见性
缓存:响应内容应显式或隐式的被标为可缓存/不可缓存,减少客户端和服务端交互次数
分层系统:客户端不知道是和代理还是和真实服务器通信,尽可能将服务器端的安全、负载均衡、错误处理实现细节隐藏
按需代码:客户端可以直接从服务端下载部分代码,简化客户端
统一接口:所有接口统一使用restful设计思想
(1)资源标识:服务器任何资源都应通过URI进行唯一的标识
(2)通过表示操作资源:客户端持有资源的表述时,就应有足够的信息对资源进行操作
(3)响应的自描述性:每条响应消息都应该包含足够的信息来描述如何处理本条响应
(4)超媒体作为应用程序状态的引擎:点击连接跳转到另一个资源(REST API)
RESTful API请求设计规范(最佳实践)
HTTP请求方式
RESTful API响应设计规范(过滤信息)
(1)GET方法的查询请求应提供信息过滤功能,包括分页等
(2)状态码
{
error: "Invalid API key"
}
(3)返回结果
·GET /collection:返回资源对象的列表
·GET /collection/resource:返回单个资源对象
·POST/collection:返回新生成的资源对象
·PUT/collection/resource:返回完整的资源对象
·PATCH/collection/resource:返回完整的资源对象
·DELETE/collection/resource:返回一个空文档
(4)使用超链接
{
"current_user_url": "https://api.github.com/user",
"authorizations_url":"...",
}
{
"message": "Requires authentication",
"documentation_url":"..."
}
其它
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。