原文地址:http://blog.csdn.net/chunqiuwei/article/details/23461995
1)第一次訪問服務器的時候,會在響應頭里面看到Set-Cookie信息(只有在首次訪問服務器的時候才會在響應頭中出現該信息)
。
上面的圖JSESSIONID=ghco9xdnaco31gmafukxchph;Path=/acr
,
瀏覽器會根據響應頭的set-cookie信息設置瀏覽器的cookie並保存之
注意此cookie由於沒有設置cookie有效日期,所以在關閉瀏覽器的情況下會丟失掉這個cookie。
2)當再次請求的時候(非首次請求),瀏覽器會在請求頭里將cookie發送給服務器(每次請求都是這樣)
(JSESSIONID=ghco9xdnaco31gmafukxchph)
不難發現這個的jsessionid和上面的jsessionid是一樣的
3)為什么除了首次請求之外每次請求都會發送這個cookie呢(在這里確切地說是發送這個jsessionid)?
事實上當用戶訪問服務器的時候會為每一個用戶開啟一個session,瀏覽器是怎么判斷這個session到底是屬於哪個用戶呢?jsessionid的作用就體現出來了:jsessionid就是用來判斷當前用戶對應於哪個session。換句話說服務器識別session的方法是通過jsessionid來告訴服務器該客戶端的session在內存的什么地方。
事實上jsessionid ==request.getSession().getId()
4)總結,jsessionid的工作流程可以簡單用下面的圖表示: