cookie與session的作用與執行方式
阿新 • • 發佈:2017-10-18
cookie與session的作用與執行方式
問題:瀏覽器與服務器請求與返回過程中,cookie跟session有什麽用?
1.cookie
# 服務器端產生cookie,cookie是存在瀏覽器中; # 瀏覽器在請求服務器端之後,服務器端想在瀏覽器端保存一些數據; # 服務器就會創建一個cookie,在返回請求相應時,帶回到瀏覽器中; >>>> # 在用戶登錄時選擇‘記住用戶名‘,服務器端處理請求創建一個cookie; # 將cookie帶到瀏覽器中,瀏覽器中就顯示這個用戶名; # 第二次登錄的時候就攜帶這個cookie以及自己輸入的密碼,到服務器端; # 服務器直接將cookie以及密碼寫到html裏; # 響應返回給瀏覽器,顯示頁面;
2.session
# 保存用戶登錄狀態 # 瀏覽器端在首頁發出登錄請求,服務器端處理返回登錄頁面; # 在瀏覽器端輸入用戶名與密碼,提交服務器端; # 服務器端進行用戶名密碼檢測,進入登入狀態頁面; # 在服務器端產生一個session值,以鍵值對方式存入數據庫中; # 每一個鍵值對都存有一個sessionid來標記; # # 註意:這裏的鍵值對中的key,是一對多的形式; # # 每臺電腦都對服務器端進行訪問,沒有sessionid來標記的話, # # 誰知道那個值是你這臺電腦的瀏覽器發出的? # # 所以在產生一個session的同時,服務器端又產生一個cookie, # # 來存儲{key(sessionid): value(num_id)}; # 服務器端返回這個cookie到瀏覽器; # 當瀏覽器再次請求訪問頁面的時候,就會帶著這個cookie到服務器端; # 服務器端發現這個存有sessionid的cookie時, # 就會從數據庫中查詢/調取對應存好的session數據; # 到request對象中,這個過程在中間鍵中執行; # request.session[‘uname] = obama # # 請求先到中間鍵,再到視圖; # # 視圖中再從session裏取值; # # 寫入頁面中;
cookie與session的作用與執行方式