session依賴于cookie 因為在cookie中有個值叫做session_id ? 這時session與cookie的聯(lián)系?
它倆的區(qū)別在于session存在于服務(wù)器中,而cookie則存在于瀏覽器中?
在瀏覽器發(fā)起請求的時候,服務(wù)器會把cookie加到響應(yīng)頭及響應(yīng)體一并發(fā)給瀏覽器?
瀏覽器給服務(wù)器發(fā)送請求,服務(wù)器此時就可以進行session設(shè)置,它會在瀏覽器所對應(yīng)的數(shù)據(jù)庫或緩存中設(shè)置session信息,例如會設(shè)置一個字典包含k、v 之后服務(wù)器會把k加密發(fā)送到瀏覽器中,瀏覽器會存在cookie中session_id中,在下一次瀏覽器訪問服務(wù)器的時候,瀏覽器把有session_id 的cookie傳給服務(wù)器,服務(wù)器找到session_id后同過k值找到在對應(yīng)數(shù)據(jù)庫中的v ,從而達到確認信息的作用,由于cookie是顯式的所以用session會更安全一些,賬號、密碼、余額等一般用session。
創(chuàng)建cookie的核心語句:
respon.set_cookie('鍵',‘值’)
創(chuàng)建session的核心語句是:
request.session['鍵'] = ‘值’
request.session.get('鍵',默認值) 讀取session鍵值
request.session.clear 在儲存中清除值部分
requset.session.flush() 在儲存中刪除session的整條數(shù)據(jù)
del request.session['鍵'] 刪除指定session的儲存中的對應(yīng)的鍵值