Sssion與Cookie基本原理

成因

單純信息展示的web1.0升級爲web2.0後,出於對交互的需要。

特徵

  • 都是服務器生成的。

  • 他們都是鍵值對應的,都是用來存儲特定的數據。

  • Session是保存在服務器端,Cookie是保存在客戶端。

    • 一般來說,SessionID會以Cookie的形式返回給客戶端。SessionID相當於信用卡,Cookie類似於飯票/人民幣(有防僞措施,發給客戶端的)。
  • 都有生命週期

    • 一般來說,Cookie的使用都是由瀏覽器來自動完成。

    • 瀏覽器會自動將客戶端存活的Cookie封裝在請求信息頭中發送給服務器,因此Cookie的生命週期一般收到2個因素的影響:1 Cookie本身的生命週期;2 客戶端Cookie文件是否存在。

    • Session的生命週期一般來說主要由生命週期和連接是否關閉來決定。(PS:客戶端連接關閉其實是客戶端自己丟失了,服務器端其實還是可能存在Session的。
    • 都是由其作用域的。(Jmeter的session/cookie管理器的原因)session_destroy銷燬(php)
    • 關閉瀏覽器session存活時間是服務設置的最大值

誤區

  • session是隨機的

SessionID是隨機的,session不是隨機的,有一定生成機制。

  • Cookie是安全的

黑客破解了生成機制就可以像盜版人民幣一樣。可以盜取其他用戶的財產。截獲SessionID就像盜刷信用卡,只能盜取這個用戶的財產。重要信息如用戶名,用session,不重要的如皮膚什麼的用cookie做來降低服務器的負擔。
- qq自動登錄是保存的session嗎?

流行的做法是oauth第三方認證

  • 任何認證的信息是服務器給的,session是最早的機制,因爲會被破解,不夠安全才有的第三方認證之類的認證機制。認證可以是任何形式,鍵值對,表單,第三方均可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章