亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cookie和Session

發布時間:2020-07-31 19:26:22 來源:網絡 閱讀:448 作者:易水寒月 欄目:編程語言

一.為什么需要cookie?
A、B兩人都有自己的京東賬號,且都在本地登錄成功過(7天免密登錄),此時A將自己的購物車練級發送給B,B用瀏覽器訪問該鏈接是無法查看到A的購物車內容的,B可能直接進入到自己的購物車或者提示B需要重新登錄跳轉到了登錄頁面。該場景說明,服務端知道訪問的客戶端是誰。但是我們都知道http是無狀態的,我們就需要使用cookie來標記客戶端是誰并將其發送給服務端。
二.Cookie及Session
Cookie 是保存在本地的一組鍵值對。Cookie的工作原理:它是當客戶端訪問服務端后,服務端生成的并發送給客戶端并保存在客戶端本地的一組鍵值對,它是用來保存用戶的信息(信息客戶端自定義)。當瀏覽器再次訪問時,瀏覽器就會自動帶上cookie,這樣服務器就能通過cookie的內容來判斷服務端是誰了。
雖然cookie在一定程度上解決了”保持狀態”的需求,彌補了http協議的無狀態的缺陷,但是由于cookie本身最大只支持4096字節;且cookie是保存在客戶端本地的,可以被攔截或截取,在安全性上并不能保證。所以,此時需要用session來協助解決最大字節問題及保存在本地的安全性問題,session將用戶信息保存在服務器。
那么,如果將session保持到服務端,客戶端如何通過cookie將服務端的session橋接起來?
這樣就出現了cookie和session如何協助的問題?我們可以給每個客戶端的cookie分配一個唯一的id,這樣用戶在訪問時,通過cookie,服務器就知道來的人事誰。然后我們再根據不同cookie的id,在服務器上保存一段時間的用戶私密資料。
總結而言:cookie彌補了http無狀態的不足,讓服務器知道來的人是’誰’;但是cookie以文本的形式保存在本地,自身安全性較差;所以我們就通過cookie識別不同的用戶,對應的在session里保存用戶私密的信息已及能超過4096字節的文本。

三.Cookie的單獨使用

from django.shortcuts import render,redirect
# Create your views here.
def login(request):
    if request.method == 'POST':
        if request.POST.get('username') == 'admin' and request.POST.get('pwd') == 'admin':
            ret = redirect('/mainmenu/')
            ret.set_cookie('username',request.POST.get('username'))
            return ret
        else:
            return render(request, 'login.html')
    else:
        return render(request, 'login.html')

def mainmenu(request):
    print('cookie:',request.COOKIES)
    print('sessionname:',request.session.get('username'))
    print('sessionpwd:',request.session.get('pwd'))
    if request.COOKIES.get('username',None):
        return render(request,'mainmenu.html')
    else:
        return redirect('/login/')

Cookie和Session
四.Cookie及Session的結合應用

from django.shortcuts import render,redirect
# Create your views here.
def login(request):
    if request.method == 'POST':
        if request.POST.get('username') == 'admin' and request.POST.get('pwd') == 'admin':
            request.session['username'] = request.POST.get('username')
            request.session['pwd'] = request.POST.get('pwd')
            return redirect('/mainmenu/')
        else:
            return render(request, 'login.html')
    else:
        return render(request, 'login.html')

def mainmenu(request):
    print('cookie:',request.COOKIES)
    print('sessionname:',request.session.get('username'))
    print('sessionpwd:',request.session.get('pwd'))
    if request.session.get('username',None):
        return render(request,'mainmenu.html')
    else:
        return redirect('/login/')

Cookie和Session
Cookie和Session
五.歡迎關注筆者公眾號
Cookie和Session

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九寨沟县| 娄烦县| 绵阳市| 望城县| 平定县| 绥江县| 彭泽县| 南充市| 乌恰县| 永定县| 宁远县| 新丰县| 阳朔县| 华阴市| 莫力| 杭锦旗| 库伦旗| 卢湾区| 西畴县| 正安县| 西华县| 泗水县| 镇江市| 博客| 紫金县| 泗阳县| 故城县| 吴旗县| 芜湖市| 榕江县| 莆田市| 奉节县| 房山区| 鄄城县| 城市| 宝山区| 大方县| 房产| 太仆寺旗| 河源市| 仪陇县|