gpt4 book ai didi

http - 使用 HEAD 请求揭示 protected 资源的存在是否是 RESTful?

转载 作者:可可西里 更新时间:2023-11-01 15:27:05 25 4
gpt4 key购买 nike

我有一个 RESTful 资源,其表示只能由经过身份验证的客户端检索。在未经身份验证的客户端发出 GET 请求的情况下,将返回 401。

另一方面,我希望未经身份验证的客户端能够确定资源是否存在。在这种情况下,我正在考虑让 HEAD 请求在资源确实存在时返回 200,如果不存在则返回 404。

RFC 2616 在第 9.4 节中说明了以下关于 HEAD 请求的内容

The metainformation contained in the HTTP headers in response to a HEAD request SHOULD be identical to the information sent in response to a GET request.

这种方法是否适合 RESTful?

作为替代方案,我可以让 GET 和 HEAD 请求为不存在的资源返回 404,如果请求存在但客户端无权返回 401。

最佳答案

我会走 404/401 路线。它更简单,更正交。也因为 HEAD 定义的第一行是:

The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.

这将为不支持 HEAD 的 HTTP 客户端留出空间。未经身份验证,他们可以简单地执行 GET 以确定资源的存在。无需 HEAD 支持。

关于http - 使用 HEAD 请求揭示 protected 资源的存在是否是 RESTful?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15643684/

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