[英]Difference between REST call and URL
我从某个时候开始进入Web开发。 但最近遇到了一项旧技术, REST
。 我读了很多关于REST
调用的地方,我对REST
服务的了解是,
REST
服务使用JSON
或XML
数据进行响应,这些数据可以在客户端用于呈现DOM元素。
它增强了HTTP
协议的使用。
REST
调用和普通URL
之间的URL差异是:
REST CALL : wwww.xyz.com/getCart/12
网址 : wwww.xyz.com/getCart.php?cartId=12
我得到了基本的区别,点击URL会在服务器端呈现一个页面并返回响应,而对REST
服务进行AJAX调用只会返回一个JSON
或XML
输出,可以在客户端解析。
我的问题是:
如果我让我的.php
页面呈现一个JSON
字符串,并且应用程序对php
页面进行AJAX
调用以获取JSON
响应并在客户端使用它来呈现DOM,那么REST
调用和正常的URL
调用。?
如何配置REST
调用与普通URLs
不同?
有很多关于REST的错误信息和混淆。 我并不感到惊讶,这三点是您从现有信息中理解的,但它们是错误的。
REST未与任何特定数据格式或媒体类型耦合。 REST中最重要的约束是强调统一接口,这意味着在这种情况下服务器应该能够响应客户端接受的任何数据格式或媒体类型。 在HTTP下,客户端将通过Accept
标头告知它可以理解的格式,并且服务器应遵守或失败,并显示406 Not Acceptable
错误。
同样,REST不会与任何特定协议耦合,尽管它经常与HTTP进行复杂化。 同样,遵循统一接口,客户端应该能够遵循服务器提供的任何链接,以用于具有有效URI方案的任何协议。
URL的语义与REST完全无关。 对REST而言,最重要的是URL标识一个且只有一个资源。 URL是一个原子标识符,客户端不应依赖其中嵌入的任何语义进行任何操作。 您提供的两个示例在REST中都是有效的。 任何一个都没有或多或少RESTful。
要回答您的问题,在REST应用程序下,您想象的差异不存在。 点击URL将返回响应。 如果客户端使用Accept: text/html
标头请求,它可能会返回由浏览器呈现的人性化html页面。 如果客户端使用Accept: application/json
或Accept: application/xml
请求,它可能返回一个机器友好格式以供另一个应用程序读取。
Rest更强调动词,比如GET
, PUT
, POST
......你可以调用一个方法
/api/Customers
根据您使用的动词,它将执行get,post,put或delete。 您也可以制作更简单的网址
/api/Customers/{id}/Orders/{id}
而不是制作一个方法
api/GetCustomersOrders?id=x&id=y.
REST只是一种架构风格,没有技术差异。
REST定义的一件事是您的URL需要是仅引用一个资源的原子标识符。
GET / users /:id(返回给定的用户:id)
PUT / users /:id(用给定的id更新用户:id)
以下是使用框架在php中创建REST API的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.