ความแตกต่างระหว่างกลไกคุกกี้และกลไกเซสชัน
โดยเฉพาะกลไกคุกกี้ใช้วิธีแก้ปัญหาการรักษาสถานะทางฝั่งไคลเอ็นต์ในขณะที่กลไกเซสชันใช้วิธีแก้ปัญหาการรักษาสถานะทางฝั่งเซิร์ฟเวอร์
ในขณะเดียวกันเราก็เห็นว่าเนื่องจากโซลูชันฝั่งเซิร์ฟเวอร์จำเป็นต้องบันทึกข้อมูลประจำตัวบนไคลเอนต์เซสชัน
กลไกอาจจำเป็นต้องใช้กลไกคุกกี้เพื่อให้บรรลุวัตถุประสงค์ในการบันทึกตัวตน แต่มีตัวเลือกอื่น ๆ
ความแตกต่างระหว่างคุกกี้เซสชันและคุกกี้ถาวร
หากเวลาหมดอายุไม่ได้ตั้งค่าหมายความว่าวงจรชีวิตของคุกกี้นี้อยู่ในช่วงเซสชันเบราว์เซอร์ ตราบใดที่หน้าต่างเบราว์เซอร์ปิดคุกกี้ก็จะหายไป คุกกี้นี้ที่มีอายุการใช้งานการเรียกดูเซสชั่นเรียกว่าคุกกี้เซสชัน โดยทั่วไปคุกกี้เซสชันจะไม่เก็บไว้ในฮาร์ดดิสก์ แต่อยู่ในหน่วยความจำ
หากตั้งเวลาหมดอายุเบราว์เซอร์จะบันทึกคุกกี้ลงในฮาร์ดดิสก์ให้ปิดและเปิดเบราว์เซอร์อีกครั้ง คุกกี้เหล่านี้จะยังคงใช้ได้จนกว่าจะถึงเวลาหมดอายุที่กำหนดไว้
คุกกี้ที่เก็บไว้ในฮาร์ดไดรฟ์สามารถแชร์ระหว่างกระบวนการเบราว์เซอร์ที่แตกต่างกันเช่น Windows สอง Windows เบราว์เซอร์ที่แตกต่างกันมีวิธีที่แตกต่างกันในการจัดการคุกกี้ที่เก็บไว้ในหน่วยความจำ
ปรากฏการณ์รายวัน
ฉันลงชื่อเข้าใช้เว็บไซต์บางแห่งและเข้าสู่ระบบในภายหลัง โอ้ไม่จำเป็นต้องป้อนรหัสผ่านฉันเพิ่งเข้าสู่ระบบมันน่าทึ่งมาก ~~~
ฉันอ่านโทรศัพท์มือถือในเว็บไซต์บางแห่งแล้วเรียกดูเว็บไซต์อื่น ๆ โฆษณาถัดจากพวกเขาเต็มไปด้วยโทรศัพท์มือถือและข้อมูลที่คล้ายกัน มันน่ากลัวมาก ~~~
เมื่อเรียกดูเว็บไซต์บางแห่งฉันได้รับแจ้งว่าฉันเป็นลูกค้าผู้เยี่ยมชม 66666th เป็นจริงหรือเท็จ?
ในความเป็นจริงเหล่านี้คือคุกกี้และเซสชันที่อยู่ด้านหลัง มาพาคุณไปเรียนรู้สองสิ่งนี้
ความคล้ายคลึงกันและความคล้ายคลึงกันระหว่างคุกกี้และเซสชัน
คุกกี้และเซสชันเป็นทั้งวิธีหรือวิธีการที่ใช้ในการบันทึกข้อมูลสถานะผู้ใช้
คุกกี้เป็นโฟลเดอร์ชั่วคราวที่เก็บไว้ในฝั่งไคลเอ็นต์และเซสชันจะถูกเก็บไว้ในหน่วยความจำของเซิร์ฟเวอร์ เซิร์ฟเวอร์ใช้โครงสร้างที่คล้ายกับตารางแฮชเพื่อบันทึกข้อมูล วัตถุโดเมนเซสชันให้บริการเบราว์เซอร์ของลูกค้า
คุกกี้มีความปลอดภัยไม่ดีและเซสชันมีความปลอดภัยสูง
เวลาจัดเก็บของคุกกี้อาจยาว (บันทึกบนฮาร์ดไดรฟ์ไคลเอนต์ในรูปแบบ TXT) และเวลาจัดเก็บของเซสชันสั้นมากโดยปกติ 30 นาที
คุกกี้ถูกแชร์โดยเบราว์เซอร์ไคลเอนต์หลายตัวและเซสชันจะถูกแชร์โดยเบราว์เซอร์ไคลเอนต์หนึ่งตัว
เซสชั่นทำได้ผ่านกลไกคุกกี้
คำถามคลาสสิกสองคำถามและการเขียนใหม่ของ URL
1. ไคลเอนต์ปิดใช้งานคุกกี้และถามว่าเซสชันยังคงทำงานได้หรือไม่?
นี่ไม่ใช่กรณีของเว็บไซต์ส่วนใหญ่เนื่องจากกลไกการเขียน URL ไม่ได้ใช้เพื่อแก้ปัญหาคุกกี้ที่ถูกปิดใช้งาน (รหัสการเขียน URL มีขนาดใหญ่และสามารถนำไปใช้กับหน้าแบบไดนามิกเท่านั้นไม่สามารถคงที่)
เว็บไซต์ที่มีขนาดเล็กมาก (เช่น: ความเป็นเลิศ) เป็นเพราะใช้กลไกการเขียน URL ใหม่
2. คุกกี้สามารถใช้ฟังก์ชั่นตะกร้าสินค้าได้หรือไม่?
ใช่คุณสามารถทำคุกกี้ที่เซสชันสามารถทำได้
** Essence **
ไม่ว่าจะเป็นคุกกี้หรือการเขียนใหม่ของ URL วัตถุประสงค์คือการส่งผ่านคีย์และค่าชื่อค่าคู่ของ jsessionId = สตริง 32 บิตไปยังเซิร์ฟเวอร์
เข้าใจกลไกคุกกี้-เซสชัน
เมื่อโปรแกรมต้องการสร้างเซสชันสำหรับคำขอของลูกค้าเซิร์ฟเวอร์ก่อนตรวจสอบว่าคำขอของลูกค้าได้รวมรหัสเซสชันแล้วเรียกว่ารหัสเซสชันแล้วหรือไม่ หากมีการรวมรหัสเซสชันแล้วหมายความว่าเซสชันได้ถูกสร้างขึ้นสำหรับไคลเอนต์นี้มาก่อนและเซิร์ฟเวอร์จะดึงรหัสเซสชันและใช้ หากคำขอไคลเอนต์ไม่มี ID เซสชันเซสชันจะถูกสร้างขึ้นสำหรับไคลเอนต์นี้และรหัสเซสชันที่เกี่ยวข้องกับเซสชันนี้จะถูกสร้างขึ้น รหัสเซสชันนี้จะถูกส่งกลับไปยังลูกค้าเพื่อบันทึกในการตอบกลับนี้ ไคลเอนต์สามารถใช้คุกกี้เพื่อบันทึก ID เซสชันนี้เพื่อให้เบราว์เซอร์สามารถส่งตัวระบุนี้กลับไปยังเซิร์ฟเวอร์โดยอัตโนมัติตามกฎระหว่างกระบวนการโต้ตอบ โดยทั่วไปชื่อของคุกกี้นี้จะคล้ายกับ jsessionid สำหรับเซสชันเซิร์ฟเวอร์จะเก็บไว้จนกว่าแอปพลิเคชันจะแจ้งเซิร์ฟเวอร์ว่าจะลบเซสชัน เบราว์เซอร์ไม่เคยแจ้งเซิร์ฟเวอร์เชิงรุกว่าจะปิดตัวลงก่อนที่จะปิดตัวลงดังนั้นเซิร์ฟเวอร์ไม่ทราบว่าเบราว์เซอร์ถูกปิดตัวลง เหตุผลสำหรับภาพลวงตานี้คือกลไกเซสชันส่วนใหญ่ใช้คุกกี้เซสชันเพื่อบันทึกรหัสเซสชัน หลังจากปิดเบราว์เซอร์รหัสเซสชันจะหายไปและไม่พบเซสชันดั้งเดิมเมื่อเชื่อมต่อกับเซิร์ฟเวอร์อีกครั้ง หากคุกกี้ตั้งค่าโดยเซิร์ฟเวอร์จะถูกบันทึกลงในฮาร์ดดิสก์หรือหากใช้วิธีการบางอย่างเพื่อเขียนส่วนหัวคำขอ HTTP ที่ออกโดยเบราว์เซอร์และส่งรหัสเซสชันดั้งเดิมไปยังเซิร์ฟเวอร์คุณยังสามารถค้นหาเซสชันดั้งเดิมได้โดยเปิดเบราว์เซอร์อีกครั้ง ในความเป็นจริงการปิดเบราว์เซอร์จะไม่ทำให้เซสชันฝั่งเซิร์ฟเวอร์ถูกลบ แต่มีเซสชันจำนวนมากอยู่ในหน่วยความจำเซิร์ฟเวอร์และเซิร์ฟเวอร์ไม่สามารถยืนได้ ดังนั้นเซิร์ฟเวอร์จึงกำหนดเวลาที่ไม่ถูกต้องสำหรับเซสชัน เมื่อเวลาก่อนที่ไคลเอนต์จะใช้เซสชันเกินเวลาที่ไม่ถูกต้องนี้ (โดยปกติ 30 นาที) เซิร์ฟเวอร์สามารถคิดได้ว่าไคลเอนต์หยุดใช้งานแล้วลบเซสชันเพื่อบันทึกพื้นที่จัดเก็บข้อมูลฝั่งเซิร์ฟเวอร์
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่าเนื้อหาของบทความนี้จะมีค่าอ้างอิงบางอย่างสำหรับการศึกษาหรือที่ทำงานของทุกคน หากคุณมีคำถามใด ๆ คุณสามารถฝากข้อความไว้เพื่อสื่อสาร ขอบคุณสำหรับการสนับสนุน Wulin.com