Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Membongkar rahsia kuki: Di ​​manakah ia sebenarnya wujud?

Membongkar rahsia kuki: Di ​​manakah ia sebenarnya wujud?

WBOY
WBOYasal
2024-01-19 09:04:061226semak imbas

Membongkar rahsia kuki: Di ​​manakah ia sebenarnya wujud?

Buka rahsia biskut: Di manakah ia wujud?

Dalam penggunaan laman web harian, kami sering berurusan dengan kuki, seperti mengingati kata laluan, troli beli-belah, cadangan pengiklanan, dsb., dan peranan kuki tidak boleh diabaikan. Jadi, apakah sebenarnya cookies? Di manakah mereka disimpan? Jom bongkar rahsia biskut hari ini.

Apakah itu biskut?

Kuki ialah fail data kecil yang disimpan pada komputer pengguna dan biasanya dihantar oleh tapak web ke penyemak imbas, yang kemudiannya menghantarnya kembali ke pelayan yang sesuai atas permintaan berikutnya. Ia biasanya digunakan untuk menyimpan maklumat sesi pengguna, kandungan troli beli-belah, tetapan keutamaan, dsb., supaya pada kali seterusnya mereka melawat tapak web, pengguna boleh dikenali secara automatik dan data yang sepadan dimuatkan.

Di manakah sebenarnya ia wujud?

Apabila bercakap tentang tempat kuki disimpan, kita perlu terlebih dahulu memahami pengetahuan asas protokol HTTP. Dalam protokol HTTP, terdapat dua kaedah storan berbeza: storan sesi dan storan berterusan.

  1. Storan Sesi

Storan sesi bermakna apabila pengguna menutup tetingkap penyemak imbas, semua kuki dipadamkan daripada komputer. Ini bermakna bahawa kuki sesi hanya akan bertahan dalam sesi semasa pengguna. Jika pengguna menutup penyemak imbas, kuki sesi dipadamkan.

Berikut ialah contoh mudah yang menunjukkan cara membuat kuki sesi menggunakan rangka kerja Ekspres:

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`)
})

Dalam contoh ini, kami menggunakan perisian tengah penghuraikan kuki untuk menyimpan kuki sesi dalam penyemak imbas dalam memori peranti. Jika pengguna menutup tetingkap penyemak imbas, kuki akan dipadamkan. 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

    Storan berterusan

    Kuki berterusan adalah berbeza daripada kuki sesi kerana ia boleh menetapkan masa tamat tempoh, dan walaupun penyemak imbas ditutup, ia masih akan disimpan pada komputer sehingga tamat tempoh masa dicapai atau dipadamkan secara manual.

    🎜Berikut ialah contoh yang menunjukkan cara membuat kuki berterusan menggunakan rangka kerja Ekspres: 🎜rrreee🎜Dalam contoh ini, kami menetapkan pilihan maxAge kepada 1 jam, yang bermaksud bahawa kuki itu akan Tamat Tempoh dalam jam. Apabila masa tamat tempoh dicapai, ia akan dipadamkan secara automatik daripada komputer. 🎜🎜Kesimpulan🎜🎜Melalui pengenalan di atas, kita boleh tahu bahawa pelayar boleh menyimpan kuki sesi dan kuki berterusan. Kuki sesi disimpan dalam ingatan penyemak imbas, manakala kuki berterusan disimpan pada pemacu keras komputer pengguna. Kuki berterusan juga akan dipadamkan sebaik sahaja masa tamat tempoh dicapai atau dipadamkan secara manual oleh pengguna. Oleh itu, dalam reka bentuk aplikasi, jenis dan kitaran hayat kuki perlu dipertimbangkan dengan teliti untuk memastikan operasi normal aplikasi. 🎜

Atas ialah kandungan terperinci Membongkar rahsia kuki: Di ​​manakah ia sebenarnya wujud?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn