如果我有一个请求客户端无权访问的资源,但我想通知他们他们有权访问的备用资源,403 Forbidden
我应该在标题或内容中向他们发送备用资源的 URI 吗?还是我应该只向303 See Other
他们有权访问的资源发送重定向?
marxidad
问问题
752 次
3 回答
1
没有“禁止但看看这个”的 HTTP 代码。
但是,您可以自定义 403 错误页面,以便显示指向替代内容的链接。如果您有多个替代链接,您可能会发现此解决方案更好。
如果通知用户访问被拒绝不是那么重要,您可能希望使用 302(临时重定向),或者,如果用户永远无法访问被禁止的内容,则使用 301(永久重定向)。
于 2008-10-14T02:25:29.547 回答
1
如果有人看到错误页面,那么您选择什么代码并不重要。如果有人类可读的错误信息;人们会忽略代码。
问题是你想让机器做什么?您是否希望机器在任何情况下都自动重定向到替代内容?如果某人有正当理由以编程方式从您的网站获取页面,在这种情况下他们是否应该获得替代内容?或者,如果有人使用缓存代理服务器,您是否希望它自动重定向?
如果您不希望它在这些情况下自动重定向,那么 403 是正确的答案。如果您希望人们获得正确的内容,并且只有真正好奇的用户才会关心原始内容是否被禁止,那么 301 或 302 会更有意义。
于 2008-10-14T04:46:45.110 回答
0
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
我想你正在寻找 300 家族的东西。自动重定向似乎比 403 友好得多。
另外,403 使对象看起来很有趣,并且可能会引起更多的探测。
于 2008-10-14T01:46:49.763 回答