Web services REST调用和URL之间的区别
从某个时候起,我就开始从事网络开发。但最近遇到了一种古老的技术,Web services REST调用和URL之间的区别,web-services,rest,url,url-rewriting,Web Services,Rest,Url,Url Rewriting,从某个时候起,我就开始从事网络开发。但最近遇到了一种古老的技术,REST。我读了很多关于REST调用的地方,我对REST服务的理解是 REST服务使用JSON或XML数据进行响应,这些数据可以在客户端用于呈现DOM元素 它增强了HTTP协议的使用 REST调用与正常URL调用之间的URL差异为: REST调用:www.xyz.com/getCart/12 URL:wwww.xyz.com/getCart.php?cartId=12 我得到了基本的区别,点击URL会在服务器端呈现一个页面并返回
REST
。我读了很多关于REST
调用的地方,我对REST
服务的理解是
服务使用REST
或JSON
数据进行响应,这些数据可以在客户端用于呈现DOM元素XML
- 它增强了
协议的使用HTTP
调用与正常REST
调用之间的URL差异为: REST调用:URL
URL:www.xyz.com/getCart/12
wwww.xyz.com/getCart.php?cartId=12
REST
服务进行AJAX调用只会返回一个JSON
或一个可以在客户端解析的XML
输出
我的问题是:
如果我使用.php
页面来呈现JSON
字符串,并且应用程序对php
页面进行AJAX
调用,以获取JSON
响应并在客户端使用它来呈现DOM,那么REST
调用和正常的URL
调用之间的区别是什么
REST
调用的配置如何不同于普通的url
?REST更加强调动词,如GET
,PUT
,POST
。。。您可以调用一个方法,如
/api/Customers
根据你使用的动词,它将执行get、post、put或delete。您还可以制作更简单的URL,如
/api/Customers/{id}/Orders/{id}
而不是制定一个
api/GetCustomersOrders?id=x&id=y.
REST只是一种架构风格,没有技术上的区别 REST定义的一件事是URL需要是只引用一个资源的原子标识符 GET/users/:id(返回具有给定:id的用户) PUT/users/:id(使用给定的:id更新用户)
这是一个关于使用框架在php中创建REST API的答案。关于REST有很多错误信息和困惑。我并不奇怪这三点是你从现有信息中理解的,但它们是错误的
- REST不耦合到任何特定的数据格式或媒体类型。REST中最重要的约束是强调统一接口,这意味着在这种情况下,服务器应该能够响应客户机接受的任何数据格式或媒体类型。在HTTP下,客户机将通过
头告诉它可以理解哪些格式,服务器应该遵守Accept
错误,或者失败406 Not Acceptable
- 同样,REST不与任何特定的协议耦合,尽管它常常与HTTP纠缠在一起。同样,遵循统一接口,对于任何具有有效URI方案的协议,客户端应该能够遵循服务器提供的任何链接
- URL的语义与REST完全无关。对REST来说,重要的是URL只标识一个资源。URL是一个原子标识符,客户端不应该依赖于任何嵌入其中的语义进行任何操作。您给出的两个示例在REST中都是有效的。他们中的任何一个人都没有多少平静
Accept:text/html
标题进行请求,它可能会返回浏览器呈现的人性化html页面。如果客户端使用Accept:application/json
或Accept:application/xml
进行请求,它可能会返回一个机器友好的格式,供另一个应用程序读取。所有Web服务都是API,但并非所有API都是Web服务
API是应用程序接口,意味着一个应用程序能够以标准化的方式与另一个应用程序交互
Web服务是一种API,必须通过网络连接访问
RESTAPI是使用HTTP方法构建web API的标准化体系结构。我知道这一部分。但是你可以很容易地处理这部分。它是否对应用程序的配置进行了任何更改?据我所知,Java在部署WAR文件时负责这一部分,但您如何在php文件中配置相同的部分?我不是一个真正的php程序员,但这可能会有所帮助。虽然我同意没有技术上的区别,但我不同意REST定义了任何关于URL语义的东西,而不是只引用一个资源的原子标识符。总体而言,拥有经过深思熟虑的URL是一个很好的设计实践,但它与REST没有直接关系。通常,当人们认为URL语义对REST很重要时,他们没有使用HATEOAS,这意味着他们根本没有使用REST。你说得对,这是我想说的“需要有代表性”,但英语不是我的母语:/。谢谢你的更正。我有点明白你的意思。我想这是对的。。但是为REST和URL配置应用程序之间有什么区别吗?没有区别。是一样的。每个有效的URL在REST中也是有效的,只要它只引用一个资源。我的意思是,REST的文件结构和普通URL之间有什么区别吗。。我们如何接收休息电话。我确信我们没有和URL一样的文件夹结构,没有RESTURL和普通URL。从REST的角度来看,URL的内容是不相关的。你看到的是没有区别的地方。HTTP API中的URL采用了一些约定