应该将哪些HTTP状态代码用于URI规范化?

时间:2012-11-30 00:11:09

标签: rest http-status-code-301 http-status-codes http-status-code-307 http-status-code-303

RESTful Web Services鼓励使用HTTP 303将客户端重定向到资源的规范表示。

根据该书,HTTP 302被303(“See Other”)和307(“Temporary redirect”)取代。还有HTTP 301(“永久重定向”)。客户端可以缓存HTTP 301和307,但不能缓存303。

鉴于此,哪些状态代码是适当的规范化?为什么本书主张使用HTTP 303而不是307?毕竟,后者是可缓存的。

1 个答案:

答案 0 :(得分:0)

RESTful Web Services似乎更倾向于临时重定向规范化。他们将搜索查询的示例作为重定向到搜索结果的非规范URI。在这种情况下,将规范化视为临时重定向很有意义,因为我们希望搜索结果随时间而变化。

如果有人正在寻找可缓存的永久重定向,请查看308 Permanent Redirect的草案标准。这允许您在临时与永久重定向,可缓存与不可缓存之间进行选择。使用对你的用例有意义的东西。