我的學習筆記——會話

  1. 服務器開啓session
    瀏覽器

  2. 客戶端經過瀏覽器訪問服務器,服務器會判斷請求頭信息中是否包含session_id,若是包含則去session文件存儲位置尋找對應的session文件,session文件不存在則建立;若是請求頭中不包含session_id,則會自動建立session文件,同時將session_id返回到服務器中,若是本地開啓cookie則session_id保存在cookie中安全

  3. cookie能夠設置生存週期,默認是保存在內存中,關閉瀏覽器銷燬cookie,從新打開瀏覽器訪問服務器此時session_id不存在,就會從新建立session文件和session_id;能夠設置cookie的生命週期,若是關閉瀏覽器時扔在生命週期內,則會將session_id保存到指定的cookie存放位置,下次打開瀏覽器會掃描是否有對應的cookie,若是有對應cookie,向指向服務器發送請求就能夠獲得session,(即自動登陸機制的實現方式)服務器

  4. session_id是計算機自動生成的一個不易破解沒有規律的惟一值,用於作惟一標識;session文件存儲於服務器端,服務器端能夠配置session的生命週期,到期以後會自動刪除失效;也能夠程序控制刪除,例如登陸退出時unset(清空session文件內容)、destroy(刪除session文件)  (本人是PHP菜鳥,只能用PHP函數)cookie

  5. session文件內容相似hashMap的散列形式,裏面存儲寫入的數據session

  6. 能夠在cookie中寫入一些值,setcookie(key, value, time, path, domain) 具體含義百度既可dom

  7. 會話機制針對http協議的無狀態產生(看資料都是這樣說,錯了勿噴  本人小白)ide

  8. 客戶端禁用cookie,能夠將session_id綁定到url傳遞,服務器做爲url參數獲取,這是一個常見問題函數

  9. 因爲session_id返回給客戶端,存儲在cookie中,能夠被查看到,所以好比簡單的作法:複製session_id模擬請求服務器,這就是所謂的session劫持,所以,一般會說cookie是不安全的
    學習




    PS: 只是本人的學習筆記,若是有童鞋看到了能夠起到幫助最好,若是有錯誤但願勿噴,只是粗淺的理解  本人PHP小菜鳥一枚  勿怪
url

相關文章
相關標籤/搜索