是什么一个REST API和一个正常的API(它打印的JSON响应)之间的差?
Answer 1:
有没有什么不同。 REST描述了一个HTTP服务器,而不是什么服务器应该响应返回交互的方式。 大多数Web应用程序与POST在服务器端进行交互或GET与履行表单提交的POST或GET查询字符串的请求所需的任何额外信息的要求。 所以,如果你想在服务器上删除的东西,他们通常做的帖子,其中包含指明了要删除的指令以及资源数据的形式。
然而,HTTP实现比GET或POST的其它方法(也称为动词)。 它还实现,除其他外,HEAD(回你会做一个GET相同的头文件,但没有响应体),PUT(采用请求主体和存储其内容的任何URL的PUT请求作出),和DELETE(删除任何资源在指定的URL存在)。 REST接口简单地利用这些额外的动词以convay请求到服务器的含义。
浏览器通常只支持“正常”(非XHR)请求GET和POST,但是像卷曲的工具可以发出全套HTTP动词。 您还可以使用额外的动词与基于XHR技术,如AJAX。
你还必须提供一个传统的非REST API的浏览器使用,除非你让JavaScript和XHR支持使用你的应用程序的要求。
Answer 2:
REST大多只是指的是使用HTTP协议它的目的的方式。 使用GET
上一个URL HTTP方法来检索信息,可以采用基于HTTP不同的格式Accept
头。 使用POST
HTTP方法来在服务器上创建新项目, PUT
编辑现有项目, DELETE
删除它们。 使API幂等,即重复相同的信息应该产生相同的结果相同的查询。 结构中网址的分层方式等。
REST只是是一个指导原则如何使用URL和HTTP协议来构建的API。 它只字未提回报格式,这可能只是以及JSON是。
该反对,例如,发送二进制或XML消息到指定端口的API,而不是使用在HTTP方法或网址在所有差异。