會話和 Cookie 有什麼區別?
使用者在網站多個頁面輸入的資料可以使用 Cookie 和會話的組合來儲存。Cookie 和會話都至關重要,因為它們會記錄使用者出於各種目的提供的資料。
Cookie 和會話都用於儲存資訊。Cookie 僅儲存在客戶端機器上,而會話則儲存在客戶端和伺服器上。
閱讀本文,瞭解更多關於 Cookie 和會話以及它們之間區別的資訊。
什麼是 Cookie?
Cookie 是儲存在使用者計算機上的小型文字檔案,只有該使用者的瀏覽器可以訪問。Cookie 的大小最大可達 4 KB。Cookie 也被稱為 HTTP Cookie、線上 Cookie 和網際網路 Cookie 等。
當一個人第一次登入網站或應用程式時,該網站會以 Cookie 的形式向用戶的計算機傳輸大量資訊。
當用戶開啟網站時,這些 Cookie 會跟蹤他們在網站上的所有活動和瀏覽行為。資訊使用字串型別儲存。Cookie 收集的資訊不被認為是安全的,因為資訊儲存在易於閱讀和理解的文字中。使用者可以隨時控制 Cookie 是否啟用。只有最初建立 Cookie 的使用者才能訪問 Cookie 的資訊;其他使用者無法檢視。
Cookie 使用 HTTP 頭 建立,然後在瀏覽器和伺服器之間傳輸。Internet Explorer 將 Cookie 儲存到臨時 Internet 檔案資料夾中,但儲存位置取決於所使用的瀏覽器。Cookie 讀取我們在 YouTube 上搜索和播放某些歌曲時生成的資料。然後,下次我們開啟 YouTube 時,會顯示相同的歌曲或類似的推薦。
為什麼要使用 Cookie?
由於 HTTP 是一種無狀態協議,它不會在其伺服器上儲存任何關於使用者的資訊。Cookie 是實現此目標的有用工具。它使我們能夠將資訊儲存在使用者的計算機上,並監控任何正在使用的應用程式的狀態。
什麼是會話?
會話用於在伺服器上臨時儲存資料,以便可以在各種不同的網站上使用它。簡單來說,會話是使用者參與特定活動的時間量。這段時間從使用者訪問任何網站或程式開始,直到使用者退出應用程式或關閉計算機為止。
因為 HTTP 協議不跟蹤使用者的狀態,所以當用戶瀏覽網際網路上的可用應用程式時,Web 伺服器無法識別使用者。使用者在主頁或任何其他頁面上輸入到程式中的資訊不會移動到應用程式中的任何其他頁面。會話用於消除遊戲中的此限制。如果選擇這樣做,則可以將使用者資料儲存在會話變數中,會話變數可以是任何型別。會話變數儲存的資料在伺服器上被加密或轉換為二進位制形式,從而保護資料免受第三方訪問。
當應用程式使用者登出該應用程式或關閉計算機時,會話值會自動分離。如果要長時間保留會話值,則需要將其儲存在資料庫中。每個會話對單個使用者都是唯一的,並且在一個應用程式中可以使用任意數量的會話,因為沒有任何限制。可以使用會話來識別使用者,會話是一個唯一的數字,以 Cookie、表單欄位或 URL 的形式儲存在伺服器上。
會話 ID 是一個唯一的數字,臨時儲存在伺服器上,用於識別使用者。它是一個 Cookie、一個表單欄位或一個儲存的 URL。
為什麼要使用會話?
會話用於更安全地儲存諸如使用者 ID 之類的資訊到伺服器上,防止資訊被篡改。
此外,會話可以以值的形態將資訊從一個網頁傳輸到另一個網頁。
會話可以用作不支援 Cookie 的 Web 瀏覽器的 Cookie 的替代方案,允許以更安全的方式儲存變數。
Cookie 和會話的比較
下表重點介紹了 Cookie 和會話的主要區別:
比較依據 | Cookie | 會話 |
|---|---|---|
| 定義 | Cookie 是儲存在本地計算機上的客戶端檔案,包含使用者資訊。 | 會話是儲存使用者資訊的伺服器端檔案。 |
| 過期時間 | Cookie 在使用者指定的生命週期後過期。 | 使用者關閉瀏覽器或登出程式時,會話結束。 |
| 資料儲存 | 它只能儲存有限數量的資料。 | 它能夠儲存無限量的資訊。 |
| 容量 | Cookie 在瀏覽器中最多隻能儲存 4 KB 的資料。 | 指令碼一次最多可以使用 128 MB 的記憶體限制。但是,我們可以在會話中自由維護任意數量的資料。 |
| 功能 | 我們不需要執行任何函式來啟動 Cookie,因為它們儲存在本地計算機上。 | 在開始會話之前,需要使用 session_start() 方法。 |
| 資料格式 | Cookie 用於將資訊儲存在文字檔案中。 | 在會話期間,資料以加密格式儲存。 |
| 儲存 | Cookie 儲存在有限數量的資料上。 | 會話可以儲存無限量的資料。 |
結論
總而言之,儘管 Cookie 和會話都是儲存伺服器或網頁上的資料的方法,但兩種方法訪問資料的方式有所不同。Cookie 中儲存的資料僅儲存在客戶端,而會話中儲存的資料則儲存在客戶端和伺服器端。
Cookie 被認為比會話不太安全,因為第三方可以操縱其中儲存的資料,而會話則以只有使用者才能讀取的加密形式儲存。
會話還會將密碼儲存在計算機上並形成資料,這意味著每次使用者訪問應用程式時,該程式都不會再次要求使用者登入。這是因為密碼和表單資料已儲存。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP