gpt4 book ai didi

asp.net - REST 和 Web 服务之间的区别

转载 作者:行者123 更新时间:2023-12-03 05:46:12 25 4
gpt4 key购买 nike

REST 和 WebService (SOAP) 之间有什么区别,我查看了 facebook api,它们使用 HTTP header 和一些参数(可能是 xml 或非)并以 xml 形式返回结果,而 SOAP 的其他操作完全相同,HTTP header + xml 参数并返回 headers + xml。

REST 还需要一些经过身份验证的 token ,而 SOAP 使用 http session ,该 token 与用于身份验证和其他信息的 token 完全相同。我所看到的 SOAP 是 REST 的高级版本?

或者还有其他性能考虑因素吗?阅读有关 REST 的内容只是讨论非常高级的客户端服务器通信,但即使 SOAP 也能做到完全相同。谁能指出我在哪里可以定义 REST 和 SOAP 的正确边界。

我们在 .net 中透明地使用了大量 SOAP,但我只是想知道 REST 是否真的值得关注,目前一切都运行得非常顺利。

我知道 REST 是一种架构,而 SOAP 是一种协议(protocol),但我的详细问题是,目前 SOAP 的 ASP.NET WebService 实现是否具有 REST 架构?

最佳答案

SOAP 是一种通过 HTTP 作为 XML 发送/接收数据的协议(protocol)。

典型的 WebService 将是一些描述如何调用它的 WSDL 方法。对于如何构建这些内容并没有真正的约定,因此您总是需要大量 API 文档。

通常这将类似于(对于 ASP.NET):

  • HTTP POSTmysite.com/products.asmx/ListAllProducts - 返回 XML 产品列表
  • HTTP POSTmysite.com/products.asmx/GetProduct - 基于发布内容中的 SOAP XML 返回产品的 XML
  • HTTP POSTmysite.com/products.asmx/UpdateProduct - 根据发布内容中的 SOAP XML 更改产品

REST 更像是构建所有方法的约定:

  • 来自 mysite.com/products 的 HTTP GET - 返回列出所有产品的 XML 或 JSON
  • 来自 mysite.com/products/14 的 HTTP GET - 返回产品 14 的 XML 或 JSON
  • HTTP POSTmysite.com/products/14 - 将产品 14 更改为您在 HTML 表单中发布的内容。
  • HTTP DELETEmysite.com/products/14 - 删除产品 14
  • HTTP PUTmysite.com/products - 添加新产品

所以 REST 的工作方式更像是您期望的浏览器 URL。这样就更自然,而且作为惯例也更容易理解。所有 REST API 的工作方式都类似,因此您无需花费太多时间来了解每个系统的怪癖。

关于asp.net - REST 和 Web 服务之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com