1.cookie是一種發送到客戶端瀏覽器的文本串句柄,並保存在客戶機硬盤上,能夠用來在某個web站點繪畫期間持久的保持數據web
2.session其實指的就是訪問者從到達某一個特定主頁到離開爲止的那段時間。session實際上是利用cookie技術進行處理的,當用戶首次進行請求後,服務端就會建立一個cookie並返回給瀏覽器,當這個session技術室,其實就意味着這個cookie就過時了。瀏覽器
3.cookie和session的共同之處在於:cookie和session都是用來跟蹤瀏覽器用戶身份的會話方式安全
4.cookie和session的區別是:cookie數據保存在客戶端,session數據保存在服務端。服務器
- 若是web服務器端使用的是session,那麼全部的數據都保存在服務器上,客戶端每次請求服務器的時候會發送當前會話的sessionid,服務器根據當前sessionid判斷相應的用戶數據標誌,以肯定用戶是否登陸或具備某種權限。因爲數據是存儲在服務器上面,因此你不能僞造,可是若是你可以獲取某個登陸用戶的 sessionid,用特殊的瀏覽器僞造該用戶的請求也是可以成功的。sessionid是服務器和客戶端連接時候隨機分配的,通常來講是不會有重複,但若是有大量的併發請求,也不是沒有重複的可能性.
- 若是瀏覽器使用的是cookie,那麼全部的數據都保存在瀏覽器端,好比你登陸之後,服務器設置了cookie用戶名,那麼當你再次請求服務器的時候,瀏覽器會將用戶名一塊發送給服務器,這些變量有必定的特殊標記。服務器會解釋爲cookie變量,因此只要不關閉瀏覽器,那麼cookie變量一直是有效的,因此可以保證長時間不掉線。若是你可以截獲某個用戶的 cookie變量,而後僞造一個數據包發送過去,那麼服務器仍是認爲你是合法的。因此,使用 cookie被攻擊的可能性比較大。若是設置了的有效時間,那麼它會將 cookie保存在客戶端的硬盤上,下次再訪問該網站的時候,瀏覽器先檢查有沒有 cookie,若是有的話,就讀取該 cookie,而後發送給服務器。若是你在機器上面保存了某個論壇 cookie,有效期是一年,若是有人入侵你的機器,將你的 cookie拷走,而後放在他的瀏覽器的目錄下面,那麼他登陸該網站的時候就是用你的的身份登陸的。因此 cookie是能夠僞造的。固然,僞造的時候須要主意,直接copy cookie文件到 cookie目錄,瀏覽器是不認的,他有一個index.dat文件,存儲了 cookie文件的創建時間,以及是否有修改,因此你必須先要有該網站的 cookie文件,而且要從保證時間上騙過瀏覽器。
5.兩個均可以用來存私密的東西,一樣也都有有效期的說法,區別在於session是放在服務器上的沒過時時間取決於服務器的設定,cookie是存在客戶端的,過時與否是能夠再cookie生成的時候設置進去的,cookie
(1)cookie數據存放在客戶端的瀏覽器上,session數據放在服務器上。session
(2)ckkoie不是很安全,攻擊者能夠分析放在本地的cookie並進行cookie欺騙,若是主要考慮到安全應當使用session併發
(3)session會在必定時間保存在服務器上。當訪問量增大時,會佔用你服務器的性能,若是主要考慮到減輕服務器的性能,應當使用cookie性能
(4)單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的cookie不能超過3K。網站