<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      1

      session 和cookie

      (1)cookie與session---------->>>>>>>>>>>>>>>>>>>>.>>>>>
          1,為什么http協議是無狀態的就可以直接訪問任何頁面.
              因為http協議無狀態,所以他誰也不認識,只要你給請求,我就返回頁面.
              若要解決這個問題,可以設置cookie與session.
          2. cookie
              1. cookie是什么?
                  cookie是服務器讓瀏覽器保存在瀏覽器上一組組鍵值對
                  
              Cookie的原理:
                  cookie的工作原理是:由服務器產生內容,瀏覽器收到請求后保存在本地;
                        當瀏覽器再次訪問時,瀏覽器會自動帶上Cookie,這樣服務器就能通過Cookie的內容來判斷這個是“誰”了。
      
                  
              2. 特性:
                  1. 是服務器讓瀏覽器設置的。瀏覽器有權利不設置。
                  2. 訪問其他頁面的時候攜帶著cookie。
              
              3. 能干什么?
                  1. 做登錄
                  2,限制訪問頻率
                  3.記錄瀏覽習慣
                  4.簡單的投票
          3,為什么瀏覽器屏蔽掉cookie之后就不能登錄???
              因為你提交的時候,服務器會讓瀏覽器設置一個cookie,但是你不設置,所以就不讓你登錄.
              
              django中操作cookie
                      1. 設置cookie
                          rep = redirect('/index/')
                          rep.set_cookie(key,value,max_age=1000)
                          rep.set_signed_cookie(key,value,max_age=1000,salt='') 加鹽方式
                              
                              參數:
                                  ?key, 鍵
                                  ?value='', 值
                                  ?max_age=None, 超時時間
                                  ?expires=None, 超時時間(IE requires expires, so set it if hasn't been already.)
                                  ?path='/', Cookie生效的路徑,/ 表示根路徑,特殊的:根路徑的cookie可以被任何url的頁面訪問
                                  ?domain=None, Cookie生效的域名
                                  ?secure=False, https傳輸
                                  ?httponly=False 只能http協議傳輸,無法被JavaScript獲取(不是絕對,底層抓包可以獲取到也可以被覆蓋)
      
                      2. 獲取cookie
                          request.COOKIES['key']   
                          request.COOKIES.get('key')        ——》推薦的取法
                          
                          request.get_signed_cookie('key',salt='')  加鹽方式
                          
                              get_signed_cookie方法的參數:
                              ?default: 默認值
                              ?salt: 加密鹽
                              ?max_age: 后臺控制過期時間
      
                          
                          request.method 
                          request.POST        ——》POST請求提交的數據  {}
                          request.GET            ——》URL上的參數    /?id=11&name=xx
                          request.FILES         ——》上傳的文件
                      3. 刪除cookie
                          rep.delete_cookie('key')
                  獲取用request,刪除和設置都用response對象操作.
      
          注意:form表單中action=""  什么也別填了,填了有可能出問題,有深坑.
              http://127.0.0.1:8000/login/?retuen=/home/     action="/login/"這樣提交的地址其實是/login/,不加的話地址才是/login/?retuen=/home/  
              
          4,cookie的缺點???
              保存在瀏覽器上不安全;請求的時候發的時候,cookie有長度限制64,如果無限大的話 卡死了就
              
          5,session: 都是request操作的,
              session是保存在服務器上的鍵值對,依賴于cookie
              
              django中操作session
                      1. 設置session
                          request.session['key'] = value 
                          request.session.setdefault(key,value)            ——》 存在就不設置
                      2. 獲取session
                          request.session['key']
                          request.session.get(key,'')
                      3. 刪除session
                          request.session.pop(key)        ——》 刪除某一個鍵值對
                          del request.session['key']
                          
                          request.session.delete()        ——》刪除所有的session鍵值對
                          request.session.flush()            ——》刪除所有的session鍵值對.刪除了cookie
                      4. 設置超時時間
                          request.session.set_expiry()
                      5. 清除當前過期的session
                          request.session.clear_expired()
                          
                  # 獲取、設置、刪除Session中數據
                      request.session['k1']
                      request.session.get('k1',None)
                      request.session['k1'] = 123
                      request.session.setdefault('k1',123) # 存在則不設置
                      del request.session['k1']
      
      
                      # 所有 鍵、值、鍵值對
                      request.session.keys()
                      request.session.values()
                      request.session.items()
                      request.session.iterkeys()
                      request.session.itervalues()
                      request.session.iteritems()
      
                      # 會話session的key
                      request.session.session_key
      
                      # 將所有Session失效日期小于當前日期的數據刪除
                      request.session.clear_expired()
      
                      # 檢查會話session的key在數據庫中是否存在
                      request.session.exists("session_key")
      
                      # 刪除當前會話的所有Session數據
                      request.session.delete()
                        
                      # 刪除當前的會話數據并刪除會話的Cookie。
                      request.session.flush() 
                          這用于確保前面的會話數據不可以再次被用戶的瀏覽器訪問
                          例如,django.contrib.auth.logout() 函數中就會調用它。
      
                      # 設置會話Session和Cookie的超時時間
                          request.session.set_expiry(value)
                          * 如果value是個整數,session會在些秒數后失效。
                          * 如果value是個datatime或timedelta,session就會在這個時間后失效。
                          * 如果value是0,用戶關閉瀏覽器session就會失效。
                          * 如果value是None,session會依賴全局session失效策略。
              
          6,流程----->>>>> 瀏覽器首次訪問服務器的時候沒有cookie,然后訪問服務器,服務器會生成一個session_ID字典,字典的值為瀏覽器的數據和cookie(一個隨機字符串),
                          然后返回session_ID給瀏覽器,下次瀏覽器再來的時候攜帶session_ID訪問服務器,可以唯一找到對應的服務器存儲的session,并且
                          打開這個字典,并從中取到值做對應校驗,檢驗是否正確能否訪問
                          注意:一個session對應一個cookie,并且一個瀏覽器對應一個session數據
                          
              session存在數據庫中,默認存在django_session表中,也可以存在一個文件當中,或者緩存當中,這個取決于你的設置.
      

        

      django中的session配置:

       

      1. 數據庫Session
      SESSION_ENGINE = 'django.contrib.sessions.backends.db'   # 引擎(默認)
      
      2. 緩存Session
      SESSION_ENGINE = 'django.contrib.sessions.backends.cache'  # 引擎
      SESSION_CACHE_ALIAS = 'default'                            # 使用的緩存別名(默認內存緩存,也可以是memcache),此處別名依賴緩存的設置
      
      3. 文件Session
      SESSION_ENGINE = 'django.contrib.sessions.backends.file'    # 引擎
      SESSION_FILE_PATH = None                                    # 緩存文件路徑,如果為None,則使用tempfile模塊獲取一個臨時地址tempfile.gettempdir() 
      
      4. 緩存+數據庫
      SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'        # 引擎
      
      5. 加密Cookie Session
      SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies'   # 引擎
      
      其他公用設置項:
      SESSION_COOKIE_NAME = "sessionid"                       # Session的cookie保存在瀏覽器上時的key,即:sessionid=隨機字符串(默認)
      SESSION_COOKIE_PATH = "/"                               # Session的cookie保存的路徑(默認)
      SESSION_COOKIE_DOMAIN = None                             # Session的cookie保存的域名(默認)
      SESSION_COOKIE_SECURE = False                            # 是否Https傳輸cookie(默認)
      SESSION_COOKIE_HTTPONLY = True                           # 是否Session的cookie只支持http傳輸(默認)
      SESSION_COOKIE_AGE = 1209600                             # Session的cookie失效日期(2周)(默認)
      SESSION_EXPIRE_AT_BROWSER_CLOSE = False                  # 是否關閉瀏覽器使得Session過期(默認)
      SESSION_SAVE_EVERY_REQUEST = False                       # 是否每次請求都保存Session,默認修改之后才保存(默認)
      
      Django中Session相關設置
      

        

       

      posted @ 2018-11-13 12:40  萌哥-愛學習  閱讀(185)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产首页一区二区不卡| 午夜AAAAA级岛国福利在线| 国产精品毛片无遮挡高清| 日韩国产精品无码一区二区三区| 国产成AV人片久青草影院| 精精国产xxxx视频在线| 在线观看中文字幕码国产| 欧美国产日产一区二区| 湟源县| 国产精品视频不卡一区二区| 中文字幕亚洲精品人妻| 起碰免费公开97在线视频| 人妻少妇精品久久| 罗城| 国产成人综合亚洲第一区| 亚洲中文字幕国产精品| 国产成人精品亚洲午夜麻豆| 久热综合在线亚洲精品| 五月天天天综合精品无码| 999国产精品999久久久久久| 成人网站免费观看永久视频下载| 曰批免费视频播放免费 | 97se综合| 无码人妻一区二区三区AV| 国产成人精品亚洲一区二区| √8天堂资源地址中文在线| 日韩午夜福利视频在线观看| 无码AV无码免费一区二区| 少妇粗大进出白浆嘿嘿视频| 天天躁日日躁狠狠躁中文字幕| 国产精品中文第一字幕| 国产成人8X人网站视频| 国产成人高清亚洲一区二区| 欧美乱人伦人妻中文字幕| 色偷偷成人综合亚洲精品| 中文字幕理伦午夜福利片| 免费看久久妇女高潮a| 制服丝袜国产精品| 大陆熟妇丰满多毛xxxⅹ | 久久精品国产福利亚洲av| 国产精品黑色丝袜在线观看 |