翻看HTTP协议原书,第三部分第十一章 识别、认证与安全,当cookie禁用的时候可以利用401状态码以及响应头WWW-Authenticate来进行。cookie被禁用,一是服务不可用,提醒用户开启cookie功能,譬如网易163邮箱就是这么干的;另一个就是URL重写,java中response.encodeURL方法会自动判断客户端是否禁用cookie然后在url后main追加选项JSESSIONID,但是这种编码比较麻烦。
小网站可以利用401状态码和响应头WWW-Authenticate来搞一搞,玩一下,但是这种方式很不安全···base64太容易就被破解了。
另外,需要知道的是,在第一次认证的时候,初次响应是没有完整的响应头的;在认证过后,浏览器在会话存活之间,每一次请求都会带着请求头Authorization,如下截图。
HTTP 401认证机制与WWW-Authenticate、Authorization解析

本文介绍了HTTP协议中的401 Unauthorized状态码,以及如何利用响应头WWW-Authenticate和请求头Authorization进行基本认证。虽然这种方法在cookie禁用时提供了一种替代方案,但其安全性较低,因为Base64编码易被破解。在初次认证后,浏览器会在后续请求中自动附带Authorization头。
最低0.47元/天 解锁文章
2579





