Rumah  >  Artikel  >  hujung hadapan web  >  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
WBOYasal
2024-01-19 09:19:041005semak imbas

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/');

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));

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'
});
  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'
});
  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'
});
  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'
});
  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'
});

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!

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