7.1 ส่วนหัว Keep-Alive

และชื่อที่มีประโยชน์อีกสองสามชื่อ ส่วนหัวKeep-Aliveบอกให้เซิร์ฟเวอร์เปิดการเชื่อมต่อไว้: เซิร์ฟเวอร์จะไม่ปิดการเชื่อมต่อทันทีหลังจากส่งการตอบกลับ ซึ่งจะทำให้คำขอถัดไปจากไคลเอ็นต์เดียวกันไปยังเซิร์ฟเวอร์เสร็จสิ้นเร็วขึ้น

ตัวอย่างของส่วนหัวดังกล่าว:

Connection: Keep-Alive

แต่ถ้าไคลเอ็นต์ทั้งหมดต้องการการเชื่อมต่อแบบถาวร ปัญหาก็จะเริ่มต้นที่เซิร์ฟเวอร์ เซิร์ฟเวอร์จะไม่พร้อมใช้งานหรือเริ่มปิดการเชื่อมต่อด้วยตัวเอง

7.2 ส่วนหัวการควบคุมแคช

สามารถใช้ส่วนหัวการควบคุมแคชเพื่อควบคุมการแคชเนื้อหา การแคชที่กำหนดค่าอย่างเหมาะสมจะเพิ่มความเร็วในการทำงานกับเนื้อหา การแคชที่กำหนดค่าอย่างคดโกงจะสร้างปัญหาให้เกิดขึ้น

หากต้องการปิดใช้งานการแคชคุณต้องเขียนส่วนหัวต่อไปนี้:

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

ไม่ควรเก็บสิ่งใดไว้ในแคช - ทั้งจากคำขอของไคลเอ็นต์หรือจากการตอบสนองของเซิร์ฟเวอร์ คำขอจะถูกส่งไปยังเซิร์ฟเวอร์เสมอ การตอบกลับจะถูกดาวน์โหลดอย่างสมบูรณ์เสมอ

คุณยังสามารถเปิดใช้งานการแคชประเภทดั้งเดิมและเชื่อถือได้มากที่สุด :

Cache-Control: no-cache

ก่อนแจกสำเนา แคชจะสอบถามเซิร์ฟเวอร์ต้นทางเพื่อดูว่าทรัพยากรเป็นปัจจุบันหรือไม่

คุณสามารถระบุเวลาแคชของทรัพยากรเป็นวินาที หัวข้อจะมีลักษณะดังนี้:

Cache-Control: max-age=31536000

ส่วนหัวนี้ระบุเวลาแคชสูงสุดสำหรับเนื้อหา

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการแคชได้ที่นี่

7.3 คุกกี้

เซิร์ฟเวอร์สามารถเก็บข้อมูลในฝั่งไคลเอ็นต์ ข้อมูลดังกล่าวเรียกว่าคุกกี้ อย่างไรก็ตาม ลูกค้าสามารถจัดเก็บคุกกี้ได้เช่นกัน พวกเขามีประโยชน์มากกับทั้งสองฝ่าย

ตัวอย่างเช่น คุณไปที่ไซต์ และคุณได้รับอนุญาตจากไซต์นั้นแล้ว นั่นคือเมื่อคุณเข้าสู่ระบบครั้งล่าสุด เซิร์ฟเวอร์สั่งให้เบราว์เซอร์เก็บข้อมูลเกี่ยวกับการเข้าสู่ระบบที่สำเร็จของผู้ใช้บางราย

นี่คือลักษณะของคุกกี้ในคำขอ:

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

คุกกี้มักจะถูกจัดเก็บโดยเบราว์เซอร์และเชื่อมโยงกับโดเมนเฉพาะ เมื่อคุณเยี่ยมชมโดเมนเดิมอีกครั้ง คุกกี้จะถูกเพิ่มไปยังคำขอ http และการตอบสนอง http โดยอัตโนมัติ เซิร์ฟเวอร์/โดเมนไม่สามารถรับคุกกี้ที่เซิร์ฟเวอร์/โดเมนอื่นเก็บไว้ในเบราว์เซอร์ได้

คุกกี้แต่ละตัวมี 4 พารามิเตอร์หลัก:

  • ชื่อ;
  • ความหมาย;
  • ระยะเวลาที่ใช้ได้ (นานแค่ไหนที่จะเก็บไว้);
  • โดเมนที่คุกกี้ถูกผูกไว้

คุกกี้ถูกจัดเก็บและส่งในรูปแบบข้อความ ดังนั้นทั้งชื่อและค่าจึงเป็นสตริง หากไม่ได้ระบุเวลาหมดอายุของคุกกี้ คุกกี้จะถูกทำลายหลังจากปิดเบราว์เซอร์

7.4 เซสชัน

หลังจากที่ผู้ใช้ลงชื่อเข้าใช้ไซต์แล้ว พวกเขาบอกว่ามีการสร้างเซสชันระหว่างไซต์และเซิร์ฟเวอร์

เซิร์ฟเวอร์สร้างออบเจกต์พิเศษในตัวเอง - HttpSession,ที่เก็บข้อมูลที่จำเป็นทั้งหมดเพื่อทำงานกับไคลเอนต์ที่ได้รับอนุญาต และหมายเลขเฉพาะของวัตถุนี้จะถูกเก็บไว้ในเบราว์เซอร์ในรูปแบบของคุกกี้

เว็บเซิร์ฟเวอร์ Java มักจะใช้ชื่อJSESSIONIDเพื่อจัดเก็บรหัสเซสชัน ดูเหมือนว่า:

Cookie: JSESSIONID =ABAD1D

ในฝั่งเซิร์ฟเวอร์ คุณสามารถกำหนดอายุการใช้งานของเซสชันได้ รวมทั้งกำหนดว่าเซสชันจะปิดโดยอัตโนมัติเมื่อปิดเบราว์เซอร์หรือไม่