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