Representational state transfer (REST) is a software architectural style which uses a subset of HTTP.[1] It is commonly used to create interactive applications that use Web services. A Web service that follows these guidelines is called RESTful. Such a Web service must provide its Web resources in a textual representation and allow them to be read and modified with a stateless protocol and a predefined set of operations.

REST 是一套用于构建 Web Service 的规范。

restful vs mvc

MVC 和 RESTful web 的关键不同点:

A key difference between a traditional MVC controller and the RESTful web service controller shown earlier is the way that the HTTP response body is created. Rather than relying on a view technology to perform server-side rendering of the greeting data to HTML, this RESTful web service controller populates and returns a Greeting object. The object data will be written directly to the HTTP response as JSON.

以前网页是前后端融合在一块的(我之前写的 Senti-weibo 网页,就是前后端融合在一块的,类似 JSP),Restful 标准是实现前后端分离的标准,一个后端服务就可以服务 Web、app 等多个前端平台。



url 使用名词来指定资源,使用 HTTP 动词来描述动作。

server提供的RESTful API中,URL中只使用名词来指定资源,原则上不使用动词。“资源”是REST架构或者说整个网络处理的核心。比如: 获取某人的新鲜; 获取某人的好友列表; 获取某人的详细信息;
GET 用来获取资源
POST 用来新建资源(也可以用于更新资源)
PUT 用来更新资源
DELETE 用来删除资源
DELETE 删除某人的好友 (在http parameter指定好友id)
POST 添加好友
UPDATE 更新个人资料