7.1 Pengepala Keep-Alive

Dan beberapa lagi tajuk yang berguna. Pengepala Keep-Alive memberitahu pelayan untuk memastikan sambungan tetap terbuka: pelayan tidak akan menutup sambungan serta-merta selepas menghantar respons. Ini akan menyebabkan permintaan seterusnya daripada klien yang sama kepada pelayan diselesaikan dengan lebih cepat.

Contoh tajuk sedemikian:

Connection: Keep-Alive

Tetapi jika semua pelanggan memerlukan sambungan kekal, maka masalah akan bermula pada pelayan. Pelayan sama ada tidak tersedia atau mula menutup sambungan sendiri.

7.2 Pengepala Kawalan Cache

Pengepala Cache-Control boleh digunakan untuk mengawal caching kandungan. Caching yang dikonfigurasikan dengan betul mempercepatkan kerja dengan kandungan, caching yang dikonfigurasikan secara bengkok menimbulkan masalah secara tiba-tiba.

Untuk melumpuhkan caching, anda perlu menulis pengepala berikut:

Cache-Control: no-cache, no-store, must-revalidate

Tiada apa-apa yang harus disimpan dalam cache - bukan dari permintaan pelanggan, mahupun dari respons pelayan. Permintaan sentiasa dihantar ke pelayan, respons sentiasa dimuat turun sepenuhnya.

Anda juga boleh mendayakan jenis caching yang paling primitif dan boleh dipercayai :

Cache-Control: no-cache

Sebelum memberikan salinan, cache menanyakan pelayan asal untuk melihat sama ada sumber itu terkini.

Anda boleh menentukan masa cache sumber dalam beberapa saat . Tajuk akan kelihatan seperti ini:

Cache-Control: max-age=31536000

Pengepala ini menentukan masa cache maksimum untuk kandungan.

Anda boleh membaca lebih lanjut mengenai caching di sini.

7.3 Kuki

Pelayan boleh menyimpan data pada bahagian klien . Data sedemikian dipanggil kuki . Walau bagaimanapun, pelanggan juga boleh menyimpan kuki. Mereka sangat membantu kedua-dua pihak.

Sebagai contoh, anda pergi ke tapak tersebut, dan anda sudah diberi kuasa ke atasnya. Iaitu, apabila anda log masuk ke dalamnya kali terakhir, pelayan mengarahkan penyemak imbas untuk menyimpan maklumat tentang log masuk yang berjaya bagi pengguna tertentu.

Begini rupa Cookie dalam permintaan:

Cookie: name=value;name2=value2;nameN=valueN00

Kuki biasanya disimpan oleh penyemak imbas dan ia terikat pada domain tertentu . Apabila anda melawat domain yang sama sekali lagi, kuki ditambah secara automatik pada permintaan http dan respons http. Pelayan/domain tidak boleh menerima kuki yang disimpan dalam penyemak imbas oleh pelayan/domain lain.

Setiap kuki mempunyai 4 parameter utama:

  • Nama;
  • makna;
  • tempoh sah (berapa lama untuk menyimpannya);
  • domain yang terikat dengan kuki.

Kuki disimpan dan dihantar dalam bentuk teks, jadi kedua-dua nama dan nilai adalah rentetan. Jika masa tamat tempoh kuki tidak ditentukan, maka ia akan dimusnahkan selepas penyemak imbas ditutup.

7.4 sesi

Selepas pengguna telah log masuk ke tapak, mereka mengatakan bahawa satu sesi telah diwujudkan antara tapak dan pelayan.

Pelayan mencipta objek khas dengan sendirinya - HttpSession,di mana ia menyimpan semua maklumat yang diperlukan untuk bekerja dengan pelanggan yang diberi kuasa. Dan nombor unik objek ini disimpan dalam penyemak imbas dalam bentuk Kuki.

Pelayan web Java biasanya menggunakan nama JSESSIONIDuntuk menyimpan ID sesi. Ia kelihatan seperti ini:

Cookie: JSESSIONID =ABAD1D

Di bahagian pelayan, anda boleh menetapkan jangka hayat sesi, serta sama ada ia akan ditutup secara automatik apabila penyemak imbas ditutup.