您好,登錄后才能下訂單哦!
本篇文章為大家展示了Cookies 和 Session的異同點有哪些,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
Cookies 和 Session的詳解及區別
1.cookie 是一種發送到客戶瀏覽器的文本串句柄,并保存在客戶機硬盤上,可以用來在某個WEB站點會話間持久的保持數據。
2.session其實指的就是訪問者從到達某個特定主頁到離開為止的那段時間。 Session其實是利用Cookie進行信息處理的,當用戶首先進行了請求后,服務端就在用戶瀏覽器上創建了一個Cookie,當這個Session結束時,其實就是意味著這個Cookie就過期了。
注:為這個用戶創建的Cookie的名稱是aspsessionid。這個Cookie的唯一目的就是為每一個用戶提供不同的身份認證。
session 從字面上講,就是會話。這個就類似于你和一個人交談,你怎么知道當前和你交談的是張三而不是李四呢?對方肯定有某種特征(長相等)表明他就是張三。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生成的時候設置進去。
(1)cookie數據存放在客戶的瀏覽器上,session數據放在服務器上
(2)cookie不是很安全,別人可以分析存放在本地的COOKIE并進行COOKIE欺騙,如果主要考慮到安全應當使用session
(3)session會在一定時間內保存在服務器上。當訪問增多,會比較占用你服務器的性能,如果主要考慮到減輕服務器性能方面,應當使用COOKIE
(4)單個cookie在客戶端的限制是3K,就是說一個站點在客戶端存放的COOKIE不能3K。
(5)所以:將登陸信息等重要信息存放為SESSION;其他信息如果需要保留,可以放在COOKIE中
上述內容就是Cookies 和 Session的異同點有哪些,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。