我在我的网站上有受限制的页面,例如URL为http://example.com/some-private-article.html,它显示一个登录页面,您必须输入凭据才能看到该页面。自定义登录页面的正确http状态码是什么?
信息没有消失,它在那里,但它的访问被拒绝。
我想给一个401响应,但没有HTTP认证/消化而规范说,这是必需的,在登录过程的处理服务器端用PHP。
什么是这种页面的正确HTTP状态码?
我在我的网站上有受限制的页面,例如URL为http://example.com/some-private-article.html,它显示一个登录页面,您必须输入凭据才能看到该页面。自定义登录页面的正确http状态码是什么?
信息没有消失,它在那里,但它的访问被拒绝。
我想给一个401响应,但没有HTTP认证/消化而规范说,这是必需的,在登录过程的处理服务器端用PHP。
什么是这种页面的正确HTTP状态码?
你一定要看看这个http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html它定义每个响应代码及其含义。
为了您的目的,虽然我可能会建议401 - 未经授权。
编辑:对,如果你正在做的表格形式的验证,然后第二个想法无论是302 - 发现或307 - 临时重定向到登录页面可能会是一个合理的反应,你正在做自己的身份验证。
我会做这种方式:
按照HTTP status code spec我应该使用403或404自定义登录页面,如果用户没有访问已经(在没有登录或没有所要求的权限),并具有登录到网页通过表单,外部客户端必须通过发送POST请求(通过HTTPS连接)与凭据来登录,然后使用会话密钥存储cookie,以便在重新加载页面后查看受限制的内容。另一方面,如果我想通过GET类型请求为脚本提供登录页面,或者为不需要Cookie的客户端提供登录页面,或者可以通过类似https://username:[email protected]/some-private-article.html这样的URL登录,那么我必须使用HTTP认证,并且没有关于浏览器中登录弹出窗口的选择,在这种情况下,适用于使用401 HTTP状态代码。
我希望我有这个权利,如果不是,那么请纠正我。
402意味着“需要付款”而不是“未经授权”。 “未经授权”是401,并且说“响应必须包含一个WWW-Authenticate标头”,这是对此的错误认证类型,并已被问题明确排除。 – Quentin
D'oh,意思是401,错字......编辑答案,然后再读一点问题。 – phuzi