首先要明白以下幾個基本知識:1,瀏覽網(wǎng)頁使用的是HTTP協(xié)議2,HTTP協(xié)議是無狀態(tài)的3,整個過程是用戶發(fā)出請求,服務(wù)器接受請求,作出響應(yīng),斷開連接(無狀態(tài),不記錄該連接記錄)4,HTTP協(xié)議包含協(xié)議頭和消息實體兩部分5,Session在服務(wù)端,Cookie在客戶端過程1,用戶向服務(wù)器發(fā)送一個url請求。(GET /index.php HTTP/1.1)2,服務(wù)器接受請求,在服務(wù)器上查找 index.php文件3,根據(jù)該請在服務(wù)器端搜尋session_ID的文件按 一般在服務(wù)器的 %TEMP%文件夾下 如windows C:\winnt\temp\下面創(chuàng)建一個如:sess_e12683c5301033a408419cc9df284f7b的文件 (window2000)并將一些SESSION值保存在該文件里面4,將處理結(jié)果返回給客戶端,并把該session_ID或者其它信息放在響應(yīng)的協(xié)議頭里面(set-Cookie),具體信息根據(jù)設(shè)置來確定,服務(wù)器斷開連接5,客戶端接收,瀏覽器將協(xié)議頭里面的session_ID存放在客戶端的一個文件里(cookie)文件 在windows下一般在 C:\Documents and Settings\用戶名\Local Settings\Temporary Internet Files下。cookie的文件名一般為Cookie:用戶名@dommainCookie文件的一般內(nèi)容為:BAIDUID Cookie名稱25D4E67AC34F467A29DB9B8C85C4DEC5 Cookie值baidu.com/ Cookie有效路徑1024 安全性 1024和1536表示模指數(shù)(MODP)群算法的位數(shù)3577998080 Cookie有效日期32067270 修改日期1590083488 建立日期29862897 建立者6,客戶端第二次向服務(wù)器發(fā)送請求,瀏覽器會將對應(yīng)的cookie文件里面的值放在請求的協(xié)議頭里面7,服務(wù)接受協(xié)議頭,同時也接受了cookie的值,這樣服務(wù)器就可以和已經(jīng)保存的session文件進行驗證說明a,在上面的 3 步驟中,如果用戶還保存其它的session值,這些值作為內(nèi)容保存到那個session文件里面b,在上面的 4 步驟中,服務(wù)還可以向客戶端發(fā)送更多的cookie值c,在上面的 5 步驟中,如果用戶的瀏覽器拒絕cookie,那么有時候服務(wù)器會將session_ID作為url后面的參數(shù)附帶,所以我們常??匆娪械膗rl上常常會有 PHPSESSID=******** 或者JSPSESSID=******之類的參數(shù),如果瀏覽器接受cookie,也會將上面 b 中的更多參數(shù)放在cookie文件里面d,在上面的 7 步驟中,服務(wù)器會根據(jù)session_ID查找對應(yīng)的文session文件,因此也可以根據(jù)該文件的內(nèi)容獲取先前保存的其它的session值e,在服務(wù)器保存的session文件有時間限制f,在客戶端保存的cookie文件有過期時間 Tag標(biāo)簽: COOKIE SESSION php