jsessionid與cookie關係的理解
2021-04-15 17:27
标签:tps response ima img 其他 local ESS 很多 cookie 本地測試地址為http://localhost/TEST/login.jsf 當瀏覽器打開cookie時,瀏覽器第一次與服務器建立連接,會創建一個session,並生成一個id即jsessionid,通過response header中的set-cookie方法傳遞給client,當server判斷request中沒有包含jsessionid的cookie時,就是通過URL改寫機制向client傳信息。 在首次瀏覽器與服務器建立連接的請求中,request中並沒有發現保存著jsessionid的cookie,所以會將jsessionid通過追加到URL的方式傳回給client,見下圖2。也就是此時的地址變為http://localhost/TEST/login.jsf;jsessionid=1FBE8ABA3F5CDF90A2C00CDB24840685。從request header中也可以看到,此時client接收到了jsessionid,並將它保存在cookie中,並在每次請求中都會攜帶。可以在後台通過request.getRequestSessionId()的方式查看請求中是否包含session id,當然也可以通過request.getSession().getId()的方式獲取每次創建會話的session id。 當瀏覽器關閉cookie時,即瀏覽器不允許讀取cookie,那麼每次登陸瀏覽器頁面或者在頁面中發起請求,都可以看到response header中存在set-cookie,且每次生成的session id都不同,這是因為瀏覽器不允許讀寫cookie,所以瀏覽器與服務器創建會話時便會重新創建session,生成新的session id。而由於每次request header中都不會包含jsessionid的cookie,所以jsessionid會通過改寫URL的方式傳給client,也就是地址會變為http://localhost/TEST/login.jsf;jsessionid=xxx。 jsessionid通過重寫url的方式傳給client這種方式傳給client其實非常不安全,有很多博客寫了,具體哪些看其他博客分析。我們將如何避免: tomcat7可以通過在web.xml的session-config中設置tracking-mode。 一些有用的網址 https://fralef.me/tomcat-disable-jsessionid-in-url.html https://blog.csdn.net/weixin_30840573/article/details/96675887 https://www.jianshu.com/p/f2e5db637ed4 jsessionid與cookie關係的理解 标签:tps response ima img 其他 local ESS 很多 cookie 原文地址:https://www.cnblogs.com/77-xigua/p/12358923.html
上一篇:Net的微服务选型之路
下一篇:19 jsp——jsp的转发标签
文章标题:jsessionid與cookie關係的理解
文章链接:http://soscw.com/index.php/essay/76008.html