第二次情形好了,就没有了sessionID
1、client向server发送请求http://localhost:8081
2、server端经由shiro进行内部内部URL重定向至http://localhost:8081/login
3、server收到http://localhost:8081/login请求后,发现请求头中没有cookie(因为这次请求是server内部重定向的),那么server就认为client端禁用了cookie,并且为这次会话产生唯一标示即SESSIONID,并将SESSIONID追加到http://localhost:8081/login,作为response响应给client。
————————————————
4、client收到server的响应后,以http://localhost:8081/login;JSESSIONID=XXX 为URL进行请求重定向(上图中302是重定向的状态码),最后展示出登陆页
5、提交登陆信息后,server从请求信息中发现了cookie(因为这次请求是client发出的而非server内部重定向),会认为client没有禁用cookie,就不会进行URL重定向,而是将SESSIONID放入cookie之中,所以之后的请求URL就无需追加URL,如果此时手动删除client端的cookie,重新请求http://localhost:8081,就会发现SESSIONID再一次被追加到了URL后面。
————————————————