Rumah > hujung hadapan web > html tutorial > Misteri storan kuki terbongkar: penjelasan terperinci tentang interaksi antara penyemak imbas dan pelayan

Misteri storan kuki terbongkar: penjelasan terperinci tentang interaksi antara penyemak imbas dan pelayan

WBOY
Lepaskan: 2024-01-19 09:19:04
asal
1036 orang telah melayarinya

Misteri storan kuki terbongkar: penjelasan terperinci tentang interaksi antara penyemak imbas dan pelayan

Dengan perkembangan Internet, kami semakin menggunakan penyemak imbas untuk menyemak imbas web, membeli-belah, log masuk dan operasi lain. Dalam proses ini, kita sering mendengar perkataan - cookie. Jadi apa sebenarnya cookies? Apakah fungsinya? Hari ini kami akan mendedahkan misteri penyimpanan kuki, menganalisis interaksi antara penyemak imbas dan pelayan secara terperinci, dan memberikan contoh kod khusus.

1. Apakah itu biskut?

Ringkasnya, kuki ialah sekeping kecil data yang dihantar oleh pelayan ke penyemak imbas dan disimpan secara setempat. Setiap kali penyemak imbas membuat permintaan ke pelayan yang sama, ia akan membawa data kuki yang disimpan sebelum ini. Dalam kes ini, pelayan boleh membaca data kuki dalam penyemak imbas dan melakukan operasi yang sepadan berdasarkan maklumat di dalamnya.

2. Peranan kuki

  1. Pengurusan keadaan sesi

Melalui kuki, pelayan boleh mengenal pasti pengguna dan mengekalkan keadaan sesi pengguna apabila pengguna melawat laman web semula. Sebagai contoh, apabila kami log masuk, pelayan akan menghantar kuki yang mengandungi maklumat log masuk kami ke penyemak imbas, supaya apabila kami melawat laman web itu semula, pelayan boleh mengenali kami seperti kali terakhir dan log masuk secara automatik.

  1. Tetapan diperibadikan

Melalui kuki, pelayan boleh mendapatkan beberapa tabiat dan keutamaan peribadi pengguna serta maklumat lain, dengan itu menyediakan pengguna dengan perkhidmatan dan cadangan yang lebih diperibadikan. Contohnya, apabila kami menyemak imbas tapak web beli-belah, pelayan akan mengesyorkan produk berkaitan berdasarkan rekod pembelian dan sejarah penyemakan imbas kami sebelum ini.

  1. Penjejakan dan Analisis

Melalui kuki, pelayan boleh menjejaki tabiat menyemak imbas pengguna untuk melakukan analisis dan statistik yang berkaitan. Sebagai contoh, syarikat pengiklanan boleh menggunakan kuki untuk menjejaki maklumat seperti masa dan kekerapan lawatan pengguna ke tapak web yang berbeza, untuk memahami minat pengguna dan keinginan membeli dan menyediakan pengiklan dengan perkhidmatan promosi pengiklanan yang lebih baik.

3. Interaksi antara penyemak imbas dan pelayan

Penyimpanan dan pemerolehan kuki dijalankan antara penyemak imbas dan pelayan Keseluruhan proses interaksi boleh dibahagikan kepada empat langkah berikut:

  1. Pelayar menghantar permintaan. ke pelayan, dan permintaan sedang dijalankan Tidak mengandungi maklumat kuki.
  2. Selepas menerima permintaan, pelayan menjana dan menghantar data kuki ke penyemak imbas.
  3. Selepas penyemak imbas menerima data kuki, ia menyimpannya secara setempat.
  4. Pelayar menghantar permintaan ke pelayan yang sama sekali lagi, membawa data kuki yang disimpan sebelum ini dalam permintaan.

Untuk lebih memahami proses ini, mari lihat contoh khusus.

(1) Contoh kod pelayan

Berikut ialah kod pelayan yang ditulis menggunakan rangka kerja Node.js untuk menghantar respons yang mengandungi maklumat kuki kepada penyemak imbas.

const http = require('http');

http.createServer((req, res) => {
  //设置cookie
  res.writeHead(200, {
    'Set-Cookie': 'name=cookie_test; max-age=60'
  });

  //发送响应
  res.end('Hello World!
');
}).listen(8080);

console.log('Server running at http://localhost:8080/');
Salin selepas log masuk

Analisis kod:

  • Gunakan medan Set-Cookie dalam pengepala respons pelayan untuk menghantar data kuki ke penyemak imbas.
  • Tetapkan tempoh sah kuki melalui parameter umur maksimum, di sini ia ditetapkan kepada 60 saat.

(2) Contoh kod penyemak imbas

Berikut ialah kod penyemak imbas yang ditulis dalam JavaScript untuk menghantar permintaan ke pelayan di atas dan mengeluarkan maklumat kuki apabila respons diterima.

// 发送请求
fetch('http://localhost:8080')
  .then(response => {
    // 读取cookie
    console.log(response.headers.get('Set-Cookie'));
    return response.text();
  })
  .then(data => {
    console.log(data);
  })
  .catch(error => console.error(error));
Salin selepas log masuk

Analisis kod:

  • Gunakan fungsi ambil untuk menghantar permintaan kepada pelayan.
  • Baca maklumat kuki dalam pengepala respons melalui kaedah response.headers.get('Set-Cookie').
  • Gunakan kaedah response.text() untuk mendapatkan maklumat teks dalam badan respons.

4. Atribut biasa kuki

Selain atribut umur maksimum yang digunakan dalam contoh di atas, kuki mempunyai banyak atribut lain. Atribut biasa adalah seperti berikut:

  1. Path

Atribut ini menentukan laluan kuki. Apabila penyemak imbas memulakan permintaan, kuki akan dibawa hanya jika laluan permintaan betul-betul sepadan dengan laluan kuki.

res.writeHead(200, {
  'Set-Cookie': 'name=value; Path=/test'
});
Salin selepas log masuk
  1. Domain

Atribut ini menentukan nama domain kuki. Apabila penyemak imbas memulakan permintaan, kuki akan dimasukkan hanya jika nama domain yang diminta betul-betul sepadan dengan nama domain kuki.

res.writeHead(200, {
  'Set-Cookie': 'name=value; Domain=.example.com'
});
Salin selepas log masuk
  1. Tamat tempoh

Atribut ini menentukan tempoh sah kuki. Selepas atribut ini ditetapkan, kuki akan tamat tempoh secara automatik pada masa yang ditentukan dan dipadamkan oleh penyemak imbas.

res.writeHead(200, {
  'Set-Cookie': 'name=value; Expires=Wed, 18 Nov 2020 08:51:29 GMT'
});
Salin selepas log masuk
  1. Secure

Atribut ini menentukan sama ada kuki hanya boleh dihantar melalui protokol https. Selepas menetapkan atribut ini, kuki hanya akan dibawa apabila permintaan https dibuat.

res.writeHead(200, {
  'Set-Cookie': 'name=value; Secure'
});
Salin selepas log masuk
  1. HttpOnly

Atribut ini menentukan sama ada kuki hanya boleh dihantar melalui protokol http. Selepas menetapkan atribut ini, penyemak imbas tidak boleh mendapatkan maklumat kuki melalui JavaScript, dengan itu meningkatkan keselamatan kuki.

res.writeHead(200, {
  'Set-Cookie': 'name=value; HttpOnly'
});
Salin selepas log masuk

5. Ringkasan

Melalui pengenalan artikel ini, kami telah mempelajari tentang definisi, fungsi, kaedah penyimpanan dan atribut biasa kuki. Pada masa yang sama, kami juga mempelajari model interaksi kuki antara penyemak imbas dan pelayan, dan memperdalam pemahaman kami tentang kuki melalui contoh kod tertentu. Sebagai seorang jurutera hadapan, kita harus mempunyai pemahaman yang mendalam dan penguasaan pengetahuan berkaitan kuki untuk mengaplikasikannya dengan lebih fleksibel dan cekap dalam pembangunan sebenar.

Atas ialah kandungan terperinci Misteri storan kuki terbongkar: penjelasan terperinci tentang interaksi antara penyemak imbas dan pelayan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan