2011-04-15 89 views
0

密码保护页面的适当HTTP状态码是什么?密码保护页面的适当HTTP状态码是什么?

如果/some-page.html受保护,登录表单将显示在该URL上;它不会重定向到专门的登录页面。

我想401将是合适的,但RFC规定:

的响应必须包含含有适用于所请求的资源是一个挑战一个 WWW-Authenticate头字段(部分 14.46)。

回答

1

如果您依靠HTTP协议来处理您的身份验证,则HTTP 401响应代码是有意义的。在你的情况下,你不是。您依赖的是HTML页面中提交的数据。

在你的情况下,HTTP已经完成了它的工作:它成功地将数据(HTML页面和表单)交付给客户端,在这种情况下200响应代码是合适的。

+0

有了这个参数,不会自定义404页面,HTTP/404是不必要的?正如我所看到的,401会告诉谷歌机器人等,这个URL不应该索引。 – Znarkus 2011-04-15 13:02:03

+0

我不这么认为。 404状态代码告诉客户端找不到请求的对象。无论响应中的自定义内容如何,​​状态码都正确地通知客户端他们的请求未找到。如果您想要控制搜索引擎抓取工具的行为,可以使用“noindex”元标记(http://www.google.com/support/webmasters/bin/answer.py?hl=zh-CN&answer=93710&from=61050&rd = 1)或添加一个条目到你的'robots.txt'。 – dariom 2011-04-17 02:51:21

+0

是的,这将是解决问题的一种方法。但是,如果404告诉客户端找不到请求的对象,那么401不会告诉客户端请求的对象需要授权吗? – Znarkus 2011-04-18 08:19:22