|
|
1
1
发送401响应,并在返回的页面上包含一个登录表单。(也就是说,不要只包含一个到登录页面的链接,包括整个表单。) |
|
|
2
4
我认为正确的回答完全取决于请求的上下文。在一个用于人(而不是机器)使用的Web应用程序中,如果用户没有经过身份验证,我宁愿重定向到登录,如果用户经过身份验证,但没有得到授权,我宁愿呈现一个错误页面。我通常不会返回未经授权的响应,因为它包含的信息太少,一般用户无法帮助他们使用应用程序。 对于Web服务,我可能会使用未经授权的响应。由于它通常由另一端的程序使用,因此不需要提供描述性错误消息或重定向。使用该服务的开发人员应该能够识别对其代码所做的正确更改,以便正确地使用该服务——假设我已经做好了用示例记录接口使用的工作。 至于搜索引擎,一个正确构造的robots.txt文件可能在限制它 公众的 页。 |
|
|
3
2
401在语法上似乎是正确的,但是401实际上是一个返回到浏览器请求凭据的语句——浏览器随后会希望检查www-authenticate头,以便它可以挑战用户输入正确的详细信息。 引用规范。
如果你做302,你至少保证用户将被引导到一个页面,在使用非标准登录时,他们可以在那里登录。我不太在乎搜索引擎之类的公司对401的看法。 |
|
|
4
1
我不得不同意你的看法,401的结果实际上是正确的回答。 也就是说,为什么没有一个设计良好的定制401页面,显示未经授权的消息以及登录页面的链接,您可以使用15秒的javascript倒计时自动将它们发送到那里。 通过这种方式,您可以对bot给出正确的401响应,告诉bot页面受到限制,但实际用户在被告知访问安全资源后会被重定向。 |
|
|
5
1
如果你的网站主要是人类使用的,不要为搜索引擎操心。当用户访问受保护的页面时,理想的方法是将其重定向到登录页面,以便在成功登录后将其转发到受保护的页面。 除非您计划在错误页面中包含登录表单,否则您无法通过401错误完成此操作。从可用性的角度来看,第一种情况(302)更为合理。 此外,您还可以编写代码将人重定向到您的登录页面,并将搜索引擎重定向到401。 |
|
|
6
0
首先,搜索引擎将如何索引安全页面?未经授权的用户,比如僵尸,不应该一开始就这么做。 |