gpt4 book ai didi

rest - RESTful 架构中的给定 URI 是否应该始终返回相同的响应?

转载 作者:行者123 更新时间:2023-12-04 08:50:33 26 4
gpt4 key购买 nike

这是对 this one 的后续问题.

那么对于任何给定 URI 的唯一响应是否是 RESTful 架构的核心租户?这里的很多讨论都倾向于这个方向,但我没有将其视为“硬性规定”。

我理解它的值(value)(用于缓存、抓取、传递链接等),但我也看到 twitter API 违反了它(对 http://api.twitter.com/1/statuses/friends_timeline.xml 的请求将根据给定的用户名而有所不同),我知道有有时可能是必要的——更不用说按时间顺序分页的资源也会随着新元素的添加而改变。

我应该努力完全消除来自同一个 URI 的不同响应,还是我只是接受有时它是不切实际的,只要我尽量减少它的发生,我就会保持体面的状态。

最佳答案

不是相同的响应,而是相同资源的表示(取决于 conneg 和条件请求 header )。在 Rest 架构中,一个 URI 标识一个且仅一个资源(但一个资源可以有多个 URI)。根据授权用户(如 HTTP 身份验证、cookies 等)呈现不同的资源是不好的做法,因为相同的 URI 代表每个用户的不同资源,如 Twitter 示例中所示。我不能允许您查看我的时间线并为您提供 URI,因为这与您的时间线的 URI 相同。用户必须在 URI 中编码,并且访问受授权机制限制。要让单个接入点根据经过身份验证的用户呈现不同的资源,请使用重定向(例如 303 See Other, 302 Found, ...)

关于rest - RESTful 架构中的给定 URI 是否应该始终返回相同的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2676786/

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