如果在使用我的网站的一项服务之前需要对用户进行身份验证,我应该使用哪种类型的重定向来将用户重定向到连接页面?
只是为了确保使用正确的数字让爬行者看到我是一个好学生!
答案 0 :(得分:0)
可用的重定向状态:
301(永久移动)状态代码表示目标 已为资源分配了一个新的永久URI。
302(Found)状态代码表示目标资源所在 暂时在不同的URI下。
303(请参阅其他)状态代码表示服务器是 将用户代理重定向到其他资源。
服务器无需传输表示 目标资源,因为请求已指示客户端 有一个有效的代表。
此状态代码类似于302(Found),但它没有 允许将请求方法从POST更改为GET。
此状态代码类似于301(永久移动),但它除外 不允许将请求方法从POST更改为GET。
状态305 Use Proxy
和306 (Unused)
分别已弃用且不再使用。
所以默认情况下,我会选择303 See Other
,因为它是最适合您需求的那个。
答案 1 :(得分:0)
如果用户需要登录才能查看网址,则不应重定向用户。
此网址应使用表单拍摄401状态,以便您的用户直接登录。然后使用相同的URL上的HTTP 200将内容返回给他。
来自HTTP specifications的401的一些信息:
401未经授权
请求需要用户身份验证。该 响应必须包含WWW-Authenticate头字段(第14.47节) 包含适用于所请求资源的挑战。该 客户端可以使用合适的Authorization标头重复请求 领域(第14.8节)。如果请求已包含授权 凭证,然后401响应表明授权具有 被拒绝获得这些证书。如果401响应包含 与先前的响应相同的挑战,并且用户代理已经 尝试认证至少一次,那么用户应该是 提交了自该实体以来在响应中给出的实体 可能包括相关的诊断信息。 HTTP访问 身份验证在" HTTP身份验证:基本和摘要中进行了解释 访问身份验证" [43]。