會話和 Cookie 有什麼區別?
使用者在網站多個頁面中輸入的資料可以使用 Cookie 和會話的組合來儲存。Cookie 和會話都至關重要,因為它們會出於各種目的記錄使用者提供的資料。
Cookie 和會話用於儲存資訊。Cookie 僅儲存在客戶端機器上,而會話則儲存在客戶端和伺服器上。
閱讀本文以瞭解更多關於 Cookie 和會話的資訊,以及它們之間如何不同。
什麼是 Cookie?
Cookie 是儲存在使用者計算機上的小型文字檔案,並且只有該使用者的瀏覽器可以訪問。Cookie 的大小最多可以達到 4 KB。Cookie 也被稱為 HTTP Cookie、線上 Cookie 和網際網路 Cookie 等。
當一個人第一次登入網站或應用程式時,該網站會以 Cookie 的形式向用戶的計算機傳輸大量資訊。
當用戶開啟網站時,這些 Cookie 會跟蹤他們在網站上進行的所有活動和瀏覽。資訊使用字串型別儲存。Cookie 收集的資訊不被認為是安全的,因為資訊儲存在易於閱讀和理解的文字中。使用者可以隨時根據自己的意願控制是否啟用或停用 Cookie。只有最初建立 Cookie 的使用者才能訪問 Cookie 的資訊;其他使用者無法看到它。
Cookie 在 HTTP 標頭 的幫助下建立,然後在瀏覽器和伺服器之間傳輸。Cookie 由 Internet Explorer 儲存在臨時 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 兆位元組的記憶體限制。但是,我們可以在一個會話中自由維護任意數量的資料。 |
| 功能 | 我們無需執行函式即可啟動 Cookie,因為它們儲存在本地計算機上。 | 在開始會話之前,需要使用 session_start() 方法。 |
| 資料格式 | Cookie 用於在文字檔案中儲存資訊。 | 在會話期間,資料以加密格式儲存。 |
| 儲存 | Cookie 儲存在有限數量的資料上。 | 會話可以儲存無限量的資料。 |
結論
總之,儘管 Cookie 和會話都是儲存伺服器或網頁上資料的方法,但兩種方法訪問資料的方式卻有所不同。儲存在 Cookie 中的資料僅儲存在客戶端,而儲存在會話中的資訊則儲存在客戶端和伺服器端。
Cookie 被認為比會話不太安全,因為第三方可以操縱其中儲存的資料,而會話則以只有使用者可以讀取的加密形式儲存。
會話還會在計算機上儲存密碼和表單資料,這意味著每次使用者訪問應用程式時,該程式都不會再次要求使用者登入。這是因為密碼和表單資料已儲存。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP