【REST】REST是什么
REST
自从Roy Fielding博士在2000年他的博士论文中提出REST(Representational State Transfer)风格的软件架构模式后,REST就基本上迅速取代了复杂而笨重的SOAP,成为Web API的标准了。
什么是Web API呢?
如果我们想要获取某个电商网站的某个商品,输入http://localhost:3000/products/123,就可以看到id为123的商品页面,但这个结果是HTML页面,它同时混合包含了Product的数据和Product的展示两个部分。对于用户来说,阅读起来没有问题,但是,如果机器读取,就很难从HTML中解析出Product的数据。
如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API。比如,读取http://localhost:3000/api/products/123,如果能直接返回Product的数据,那么机器就可以直接读取。
REST就是一种设计API的模式。最常用的数据格式是JSON。由于JSON能直接被JavaScript读取,所以,以JSON格式编写的REST风格的API具有简单、易读、易用的特点。
编写API有什么好处呢?由于API就是把Web App的功能全部封装了,所以,通过API操作数据,可以极大地把前端和后端的代码隔离,使得后端代码易于测试,前端代码编写更简单。
此外,如果我们把前端页面看作是一种用于展示的客户端,那么API就是为客户端提供数据、操作数据的接口。这种设计可以获得极高的扩展性。例如,当用户需要在手机上购买商品时,只需要开发针对iOS和Android的两个客户端,通过客户端访问API,就可以完成通过浏览器页面提供的功能,而后端代码基本无需改动。
当一个Web应用以API的形式对外提供功能时,整个应用的结构就扩展为:
把网页视为一种客户端,是REST架构可扩展的一个关键。
编写REST API
REST API规范
编写REST API,实际上就是编写处理HTTP请求的async函数,不过,REST请求和普通的HTTP请求有几个特殊的地方:
REST请求仍然是标准的HTTP请求,但是,除了GET请求外,POST、PUT等请求的body是JSON数据格式,请求的Content-Type为application/json;
REST响应返回的结果是JSON数据格式,因此,响应的Content-Type也是application/json。
REST规范定义了资源的通用访问格式,虽然它不是一个强制要求,但遵守该规范可以让人易于理解。
转自:REST - 廖雪峰的官方网站
最新文章
- Day03 - Ruby比一比:Module的include与extend
- ## Spark学习之路(一)
- 网易云信牵手有道乐读,解密「终身阅读者」背后的技术力量
- Flask form(登录,注册)
- MinIO Client完全指南 ​​​​​​​
- php获取页面指定内容,php 获取页面中的指定内容类
- uni-app商城源码/公众号/小程序/APP多端适配
- 【专家访谈】疫情带来的商机风口,汽车零部件企业如何抓住机遇实现华丽转身?
- windows服务启动程序_在Windows上快速启动程序的5种方法
- 百度富文本编辑器插入视频链接相关问题
- STM32通过串口控制LED闪烁或者呼吸效果
- 敏捷交付_确保敏捷交付
- C++ - CString 用法
- 连连支付怎么样?最新连连跨境支付详情介绍!
- LeetCode1446. 连续字符
- 留个念想,clipper库的使用效果
- 共享图书系统 图书借阅小程序系统开发心得体会 共享图书系统开发
- spring cloud 2020
- JavaScript 双击禁止选中文字
- 如何查询某只股票的历史股价?
热门文章
- python发送文件到服务器_python 使用poster模块进行http方式的文件传输到服务器的方法...
- 机器学习-回归之逻辑回归算法原理及实战
- JavaScript二叉搜索树
- 数据库、缓存、消息队列之外的下一站——Elasticsearch
- pprof 的原理与实现
- 本地存储和移动端js框架及bootstrap简介
- WebRTC视频编解码器性能评估
- “云端一体”的智能媒体生产制作演讲之路
- 网易易盾李雨珂:服务性能+算法确定性优化,迎接5G时代内容安全爆发式流量增长...
- LiveVideoStack线上分享第三季(十三):腾讯云LiteAVSDK演进之路