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