![e197d85689caa20aec92dd9c58db447d.png](https://i-blog.csdnimg.cn/blog_migrate/0f50ce00ebd2cf481e2400ed6ceb202e.jpeg)
![29c0f658925028a2e8889244566b7ffe.png](https://i-blog.csdnimg.cn/blog_migrate/b15078572dcc1ad69e9f41ab4e2686fc.jpeg)
前言
看了两天 RESTful 总结的笔记,若有谬误还请大佬们海涵。
概念
- RPC 面向方法
- SOA 面向消息
- REST 面向资源
REST:
REST(Representational State Transfer)是种互联网软件架构模式,由 Roy Fielding 在他 2000 年的博士论文《架构风格与基于网络的软件架构设计》(译)中提出,REST 一经提出就流行起来, 迅速取代了复杂笨重的 SOAP。
要理解 REST,最好是认真理解 Representational State Transfer 是什么,它的直译是“表现层状态转化”,其中省略了主语,完整的意思应该是“资源的表现层状态转化”,关键词是“资源”、“表现层”、“状态转化”。
资源:
“资源”就是网络上的一个信息实体,REST 规定用一个 URI(统一资源定位符)来唯一标识一个资源,通过 URI 可以获取到任意资源。
表现层:
“资源”只是信息,它可以有多种存在方式(比如一段单纯的文本可以被表示为 txt、HTML、XML、JSON,甚至二进制等多种格式),我们把资源所处的存在方式称为它的“表现层”, 可以把“表现层”理解为资源的“视图”,在 REST 里,URI 只用来标识资源,并不标识它处于哪个表现层,它的表现层是在 HTTP header 中由 A