gpt4 book ai didi

REST 和 URI 缓存

转载 作者:行者123 更新时间:2023-12-04 14:21:10 35 4
gpt4 key购买 nike

据我了解,使用 hypertext-driven RESTful Web 服务,除了几个众所周知的入口点之外,客户端不应该知道任何关于服务器 URI 布局的信息。这应该使服务器能够控制自己的 URI 空间并减少与客户端的耦合。

当服务的客户端发送成功的创建新资源的请求时,服务响应 201 CREATED 并在 Location 头字段中提供可以访问新资源的 URI。

是否应该允许客户端存储此 URI 以在将来启用对资源的直接访问,如果是,则存储多长时间?如果 URI 由客户端缓存,这似乎会导致每次服务器更改其 URI 布局时,都需要确保在访问旧 URI 时提供永久重定向。否则客户端会中断。几年后,这种重定向系统可能会失控。

与使用 URI 模板的 REST-RPC 混合方法相比,这种情况似乎不会让服务器对其 URI 空间有更多的控制。

关于缓存表示有很多可用的信息,但是在超文本驱动的 RESTful 系统中缓存 URI 呢?

最佳答案

请记住 Tim Berners-Lee 所说的“酷 URL 不会改变”。一旦服务器将一个 URI 分发给客户端,现在服务器的工作就是通过(例如)发送一个 Moved-Permanently 响应来保持 URI 在 future 工作,以防 URI 更改并且有人请求旧的。

这实际上鼓励许多人设计不透明的 URI,例如基于数据库 ID 或时间戳,而不是在 URI 中使用资源的一些人类可读的属性。人们理解的任何事情,他们都会想要改变。

关于REST 和 URI 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1300779/

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