我正在构建一项服务,将资源分为多个类别,例如, example.com/category/foo
将代表“foo”(认为:与SO标签类似)。“永远不会存在”的HTTP状态码
可以随时添加新类别,当试图查看尚不存在的类别时,用户将能够建议添加它。
但是,我想彻底禁止一些类别名称(例如NSFW条款)。这意味着(假设“酒吧”就是这样一个名字)example.com/category/bar
不仅不存在,而且保证将来永远不会存在。
哪种HTTP状态码适合这种情况?
一些想法浮现在脑海中:
410飘 - 而这清楚地资源不会在将来可用,我不知道这是否是合适的,因为它也似乎暗示它曾经存在于过去。
400错误请求 - 请求在技术上不是格式错误,所以这可能不是错误的方法。
404未找到最初似乎是逻辑的选择,但不传达禁令的持久性,尤其是因为我打算使用404对于尚不存在的类别,但可以建议。
301永久移动并重定向到另一个页面,主页或其他页面,解释某些类别名称被禁止。
只有404.没有关于它说“永久”。它只是意味着“现在不存在”。 –
这就是为什么我有点不情愿使用404,所做的请求被服务器识别,但响应保证不会包含任何有用的东西。 – fstanis
401 /禁止? http状态代码并不打算映射到每个可能的现实世界的情况。有时你只需要塞住你的鼻子并进入它。 –