材料

http://blog.csdn.net/collonn/article/details/5698906
http://www.jianshu.com/p/1361d578035d

https://www.kancloud.cn/digest/dcluster/130514
http://blog.csdn.net/qh_java/article/details/45955923
http://www.cnblogs.com/joeliu/archive/2008/01/10/1033232.html
http://zhanjia.iteye.com/blog/871021

Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了。

——————-最新更新——–

Terry_Huang 回复:

  给你举个更生动的例子,以前大学的时候,经常去大卡司去喝奶茶,每喝一杯,都可以得到一个印花(第一次喝的时候他会给你个积分卡片),集齐6个印花之后,就可以免费获得一杯奶茶。这样子,印花的信息是保存在客户的积分卡上,你如果不怀好意的话,就自己搞几个神似的印花去骗奶茶喝吧。哈哈,这样子是不是更符合在客户端端保持状态。而拿银行卡去银行取钱,我们的卡只需要保存一个卡号,更多的信息是保存在服务器中,这样也比较符合服务器端保持状态。

示例

12306登录界面

  1. 首次访问 https://kyfw.12306.cn/otn/

请求1: https://kyfw.12306.cn/otn response返回了Set-Cookie:BIGipServerotn=904921610.50210.0000; path=/
请求2: https://kyfw.12306.cn/otn/ request携带了一个cookie: BIGipServerotn, response返回了:Set-Cookie:JSESSIONID=0A02F035C45CDC859EBDE34EEF3022176D1CAB3240; Path=/otn

浏览器存储了两个cookie: BIGipServerotn, JSESSIONID
后面再访问domain: kyfw.12306.cn默认都会携带这两个cookie吗? 貌似有些不携带

  1. 登陆页面
    https://kyfw.12306.cn/otn/login/init
    请求1:https://kyfw.12306.cn/otn/login/init request携带以上两个cookie,response返回Set-Cookie:__NRF=D448883EA47A42ADFF201315C5A47B59; Path=/otn

请求2: https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.5879014782091059 response返回Set-Cookie:current_captcha_type=Z; Path=/
作用获取验证码图片+刷新验证码

请求3: 比较神奇
https://kyfw.12306.cn/otn/resources/js/newpasscode/captcha.png
request header中携带了 Cookie:JSESSIONID=0A02F00DFC2165793ED24D3E6A322D73BB663555CD; __NRF=87982EA902E055A62B34594F412D6FD4; _jc_save_detail=true; _jc_save_fromStation=%u5FB7%u5DDE%2CDZP; _jc_save_toStation=%u5317%u4EAC%2CBJP; _jc_save_fromDate=2017-02-05; _jc_save_toDate=2017-02-03; _jc_save_wfdc_flag=dc; BIGipServerotn=233832970.64545.0000

浏览器存储了四个cookie: BIGipServerotn, JSESSIONID, __NRF, current_captcha_type

  1. 验证码输入错误。

请求1: https://kyfw.12306.cn/otn/passcodeNew/checkRandCodeAnsyn
Set-Cookie:JSESSIONID=0A01D967C46F93749DA8E343362706EA493AB0274E; Path=/otn
Set-Cookie:BIGipServerotn=1742274826.50210.0000; path=/

请求2:https://kyfw.12306.cn/otn/passcodeNew/getPassCodeNew?module=login&rand=sjrand&0.8915860204592649
刷新验证码,请求中携带刷新后的cookie。

  1. 登陆成功

浏览器中仍然是4个cookie。Cookie:__NRF=F178222DE155029CE8311D24270DABF5; JSESSIONID=0A01D95CFCA56AD5853ADCBFADD0263D7273CB784F; BIGipServerotn=1557725450.64545.0000; current_captcha_type=Z

实现检查浏览器,发现kyfw.12306.cn包含6个cookie(不包含JSESSIONID)

https://kyfw.12306.cn/otn/

request header:
Cookie:JSESSIONID=0A02F00DFC2165793ED24D3E6A322D73BB663555CD; _jc_save_detail=true; _jc_save_fromStation=%u5FB7%u5DDE%2CDZP; _jc_save_toStation=%u5317%u4EAC%2CBJP; _jc_save_fromDate=2017-02-05; _jc_save_toDate=2017-02-03; _jc_save_wfdc_flag=dc; BIGipServerotn=233832970.64545.0000

response header:

Set-Cookie:__NRF=87982EA902E055A62B34594F412D6FD4; Path=/otn

— 后面再访问,就会看到cookie多了个属性__NRF

Cookie:JSESSIONID=0A02F00DFC2165793ED24D3E6A322D73BB663555CD; __NRF=87982EA902E055A62B34594F412D6FD4; _jc_save_detail=true; _jc_save_fromStation=%u5FB7%u5DDE%2CDZP; _jc_save_toStation=%u5317%u4EAC%2CBJP; _jc_save_fromDate=2017-02-05; _jc_save_toDate=2017-02-03; _jc_save_wfdc_flag=dc; BIGipServerotn=233832970.64545.0000

##
http://localhost:8080/bluescan/

username: “Composer2”,
psw: “1c8bd771b24c16738eb467f35920949c”,