簡(jiǎn)述session工作原理 什么是session,有哪些實(shí)現(xiàn)session的機(jī)制?
什么是session,有哪些實(shí)現(xiàn)session的機(jī)制?session直譯為會(huì)話,代表了用戶與服務(wù)端的一系列交互,對(duì)應(yīng)于tomcat的實(shí)現(xiàn)就是一個(gè)對(duì)象,目的是為了識(shí)別用戶。session出現(xiàn)的背景是因?yàn)?/p>
什么是session,有哪些實(shí)現(xiàn)session的機(jī)制?
session直譯為會(huì)話,代表了用戶與服務(wù)端的一系列交互,對(duì)應(yīng)于tomcat的實(shí)現(xiàn)就是一個(gè)對(duì)象,目的是為了識(shí)別用戶。
session出現(xiàn)的背景是因?yàn)閔ttp本身是無(wú)狀態(tài)的,也就是說(shuō)每次請(qǐng)求都是相互獨(dú)立的,那服務(wù)端怎么知道兩次交互對(duì)應(yīng)的是一個(gè)訪問(wèn)者呢?session就是為了解決這個(gè)問(wèn)題出現(xiàn)的,session的生成在服務(wù)端,但必須配合瀏覽器cookie來(lái)使用,服務(wù)端識(shí)別用戶的過(guò)程如下:
1.用戶通過(guò)瀏覽器訪問(wèn)服務(wù)器
2.服務(wù)端創(chuàng)建session對(duì)象,并通過(guò)set-cookie將session的ID返回給瀏覽器,并告知瀏覽器存入cookie
3.瀏覽器拿到session的ID后存入cookie
4.瀏覽器后續(xù)向服務(wù)端請(qǐng)求時(shí)會(huì)帶上cookie中的sessionID
5.服務(wù)端根據(jù)sessionID找到之前創(chuàng)建的session對(duì)象來(lái)識(shí)別訪問(wèn)用戶(用戶信息往往會(huì)存入該session對(duì)象)
6.用戶關(guān)閉瀏覽器時(shí)瀏覽器清除cookie中的sessionID
有問(wèn)題歡迎交流。