PHP基礎教程:COOKIE AND SESSION_PHP教程

來源:互聯網
上載者:User
首先要明白以下幾個基本知識:

1,瀏覽網頁使用的是HTTP協議
2,HTTP協議是無狀態的
3,整個過程是使用者發出請求,伺服器接受請求,作出響應,中斷連線(無狀態,不記錄該串連記錄)
4,HTTP協議包含協議頭和訊息實體兩部分
5,Session在服務端,Cookie在用戶端

過程
1,使用者向伺服器發送一個url請求。(GET /index.php HTTP/1.1)

2,伺服器接受請求,在伺服器上尋找 index.php檔案

3,根據該請在伺服器端搜尋session_ID的檔案按 一般在伺服器的 %TEMP%檔案夾下 如windows C:\winnt\temp\下面建立一個如:sess_e12683c5301033a408419cc9df284f7b的檔案 (window2000)
並將一些SESSION值儲存在該檔案裡面

4,將處理結果返回給用戶端,並把該session_ID或者其它資訊放在響應的協議頭裡面(set-Cookie),具體資訊根據設定來確定,伺服器中斷連線

5,用戶端接收,瀏覽器將協議頭裡面的session_ID存放在用戶端的一個檔案裡(cookie)檔案
在windows下一般在 C:\Documents and Settings\使用者名稱\Local Settings\Temporary Internet Files下。

cookie的檔案名稱一般為
Cookie:使用者名稱@dommain

Cookie檔案的一般內容為:
BAIDUID Cookie名稱
25D4E67AC34F467A29DB9B8C85C4DEC5 Cookie值
baidu.com/ Cookie有效路徑
1024 安全性 1024和1536表示模指數(MODP)群演算法的位元
3577998080 Cookie有效日期
32067270 修改日期
1590083488 建立日期
29862897 建立者

6,用戶端第二次向伺服器發送請求,瀏覽器會將對應的cookie檔案裡面的值放在請求的協議頭裡面

7,服務接受協議頭,同時也接受了cookie的值,這樣伺服器就可以和已經儲存的session檔案進行驗證

說明
a,在上面的 3 步驟中,如果使用者還儲存其它的session值,這些值作為內容儲存到那個session檔案裡面
b,在上面的 4 步驟中,服務還可以向用戶端發送更多的cookie值
c,在上面的 5 步驟中,如果使用者的瀏覽器拒絕cookie,那麼有時候伺服器會將session_ID作為url後面的參數附帶,所以我們常常看見有的url上常常會有 PHPSESSID=******** 或者JSPSESSID=******之類的參數,如果瀏覽器接受cookie,也會將上面 b 中的更多參數放在cookie檔案裡面
d,在上面的 7 步驟中,伺服器會根據session_ID尋找對應的文session檔案,因此也可以根據該檔案的內容擷取先前儲存的其它的session值
e,在伺服器儲存的session檔案有時間限制
f,在用戶端儲存的cookie檔案有到期時間

http://www.bkjia.com/PHPjc/364286.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/364286.htmlTechArticle首先要明白以下幾個基本知識: 1,瀏覽網頁使用的是HTTP協議 2,HTTP協議是無狀態的 3,整個過程是使用者發出請求,伺服器接受請求,作出響...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.