首頁 >後端開發 >php教程 >揭開cookie的秘密:它們究竟存在何處?

揭開cookie的秘密:它們究竟存在何處?

WBOY
WBOY原創
2024-01-19 09:04:061247瀏覽

揭開cookie的秘密:它們究竟存在何處?

揭開cookie的秘密:它們究竟存在何處?

在日常網站使用中,我們經常會與cookie打交道,例如記住密碼、購物車、廣告推薦等,而cookie的作用則無法忽略。那麼,cookie究竟是什麼?它們存儲於何處?我們今天就來揭開cookie的秘密。

什麼是cookie?

cookie是一種儲存在使用者電腦上的小數據文件,通常由網站傳送給瀏覽器,然後瀏覽器會在後續請求中將其發送回相應的伺服器。它們通常用於儲存使用者的會話資訊、購物車內容、喜好設定等等,以便於下次造訪網站時,可以自動識別使用者並載入相應的資料。

究竟存在何處?

在說到cookie存放的位置時,我們需要先了解HTTP協定的基本知識。在HTTP協定中,有兩種​​不同的儲存方式:會話儲存和持久性儲存。

  1. 會話儲存

會話儲存的意思是,當使用者關閉瀏覽器視窗時,所有的cookie都會從電腦中刪除。這意味著session cookie 只會存活於使用者目前會話中。如果使用者關閉了瀏覽器,session cookie也就被刪除了。

下面是一個簡單的例子,示範如何使用Express框架建立一個會話cookie:

const express = require('express')
const cookieParser = require('cookie-parser')
const app = express()

app.use(cookieParser())

app.get('/', (req, res) => {
  res.cookie('username', 'john doe', {
    httpOnly: true
  })
  res.send(`Hello World!`)
})

app.listen(3000, () => {
  console.log(`Example app listening at http://localhost:3000`)
})

在這個例子中,我們使用了cookie-parser的中間件,將會話cookie儲存在瀏覽器記憶體中。如果使用者關閉了瀏覽器窗口,則該cookie將被刪除。

  1. 持久儲存

持久cookie不同於會話cookie,它們可以設定過期時間,即使關閉了瀏覽器,它們仍然會在電腦上存儲,直到過期時間到達或手動刪除。

下面是一個例子,示範如何使用Express框架建立一個持久cookie:

const express = require('express')
const cookieParser = require('cookie-parser')
const app = express()

app.use(cookieParser())

app.get('/', (req, res) => {
  res.cookie('username', 'john doe', {
    maxAge: 60 * 60 * 1000,
    httpOnly: true
  })
  res.send(`Hello World!`)
})

app.listen(3000, () => {
  console.log(`Example app listening at http://localhost:3000`)
})

在這個例子中,我們將maxAge選項設定為1個小時,這意味著該cookie將在1小時後過期。當過期時間到達後,它將自動從電腦中刪除。

結論

透過上面的介紹,我們可以得知,瀏覽器可以儲存會話cookie和持久性cookie。會話cookie儲存在瀏覽器的記憶體中,而持久cookie則儲存在使用者電腦的硬碟上。一旦過期時間到達或使用者手動刪除,持久cookie也將被刪除。因此在應用程式設計中,需要謹慎考慮cookie的類型和生命週期,確保應用程式的正常運作。

以上是揭開cookie的秘密:它們究竟存在何處?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn