เซสชันและการเชื่อมต่อใหม่
รักษาสถานะระหว่างคำขอและลิงก์ที่หลุด
เซสชันและการเชื่อมต่อใหม่ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
ทำไมเซิร์ฟเวอร์จึงต้องมีหน่วยความจำ
เซิร์ฟเวอร์ระยะไกลอาจจัดการไคลเอ็นต์หลายรายพร้อมกัน เพื่อไม่ให้สับสนว่าแต่ละการสนทนาเป็นของใคร เซิร์ฟเวอร์จึงต้องมีวิธีจดจำว่าใครเป็นใคร ซึ่งก็คือ เซสชัน นั่นเอง 🧠
เซสชันเริ่มต้นเมื่อ init
เซสชันเริ่มต้นระหว่างการจับมือ initialize เซิร์ฟเวอร์จะทักทายไคลเอ็นต์รายใหม่และตั้งค่าสถานะที่จะใช้ติดตามการเชื่อมต่อนี้
ทำความรู้จักรหัสเซสชัน
เพื่อระบุเซสชัน เซิร์ฟเวอร์จะส่งเฮดเดอร์ Mcp-Session-Id ที่ไม่ซ้ำกันกลับมาในการตอบกลับ initialize ให้คิดว่านี่คือบัตรรับคิวของไคลเอ็นต์
Mcp-Session-Id: a1b2c3d4ไคลเอ็นต์ส่งกลับมา
ในคำขอครั้งต่อ ๆ ไปทุกครั้ง ไคลเอ็นต์จะใส่ id เดิมไว้ในเฮดเดอร์ เซิร์ฟเวอร์จะอ่านค่าและทราบได้ทันทีว่าการเรียกนี้เป็นของเซสชันใด
Mcp-Session-Id: a1b2c3d4สถานะอยู่ในเซสชัน
ข้อมูลใด ๆ ที่เซิร์ฟเวอร์ควรจดจำระหว่างการเรียก เช่น ผู้ใช้ที่เข้าสู่ระบบแล้วหรือตัวชี้ตำแหน่ง จะผูกอยู่กับ เซสชัน ไคลเอ็นต์แต่ละรายจะไม่เห็นข้อมูลของกันและกัน
แบบไร้สถานะไม่ต้องใช้ id
เซิร์ฟเวอร์บางแห่งไม่จำเป็นต้องมีหน่วยความจำ เซิร์ฟเวอร์แบบ ไร้สถานะ จะถือว่าคำขอแต่ละรายการเป็นอิสระจากกันและไม่ออก id เซสชัน ทำให้ปรับขนาดระบบได้ง่ายขึ้นมาก
เครือข่ายทำให้การเชื่อมต่อขาดหาย
บนอินเทอร์เน็ต การเชื่อมต่ออาจขัดข้องได้ สตรีมอาจหยุดลงกลางการตอบกลับ การขนส่งที่ดีต้องจัดการกับ การเชื่อมต่อที่ขาดหายโดยไม่ทำให้เซสชันทั้งหมดสูญหาย 📡
กลับมาสตรีมต่อหลังขัดข้อง
จำ id ของเหตุการณ์ SSE ได้ไหม ไคลเอ็นต์จะเชื่อมต่อใหม่และส่ง Last-Event-ID ล่าสุดที่ได้รับไป เพื่อขอให้เซิร์ฟเวอร์เล่นซ้ำเฉพาะส่วนที่อยู่ถัดจากนั้น
Last-Event-ID: 42ไม่มีข้อมูลซ้ำ ไม่มีข้อมูลขาด
เนื่องจากแต่ละเหตุการณ์มีหมายเลข การเล่นซ้ำจึงแม่นยำ ไคลเอ็นต์จะไม่พลาดสิ่งใดและไม่เห็นสิ่งใดซ้ำ ดังนั้นการสะดุดจึงไม่ทำให้ผลลัพธ์ เสียหาย
สิ้นสุดเซสชัน
เมื่อไคลเอ็นต์ใช้งานเสร็จแล้ว ก็สามารถส่ง DELETE แบบ HTTP ไปยังปลายทางพร้อม id เซสชันได้ เซิร์ฟเวอร์จะคืนสถานะที่ใช้แล้ว ทำให้หน่วยความจำเป็นระเบียบ
DELETE /mcpผลลัพธ์ที่ได้
เมื่อใช้เซสชันร่วมกับการเชื่อมต่อใหม่ เซิร์ฟเวอร์ระยะไกลจะดู น่าเชื่อถือ เพราะจดจำบริบทของคุณได้และรับมือกับเครือข่ายที่ไม่เสถียรได้อย่างราบรื่น ✨
ตรวจสอบความเข้าใจ
ไคลเอ็นต์ยืนยันได้อย่างไรว่าคำขอเป็นของเซสชันใด
สรุป: เซสชันและการเชื่อมต่อใหม่
id เซสชัน ที่กำหนดเมื่อเริ่มต้นและส่งกลับมาในภายหลัง จะเชื่อมไคลเอ็นต์แต่ละรายเข้ากับสถานะของตน เหตุการณ์ SSE ที่มีหมายเลขช่วยให้สตรีมที่ขาดหายกลับมาทำงานต่อได้อย่างเรียบร้อยโดยไม่มีข้อมูลขาดหาย 🎉
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “เซสชันและการเชื่อมต่อใหม่” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เซสชันและการเชื่อมต่อใหม่” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เซสชันและการเชื่อมต่อใหม่”
รักษาสถานะระหว่างคำขอและลิงก์ที่หลุด คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “เซสชันและการเชื่อมต่อใหม่” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใด stdio จึงไม่เพียงพอ
- การส่งข้อมูล HTTP แบบสตรีมได้
- สตรีมการตอบกลับด้วย SSE
- เซสชันและการเชื่อมต่อใหม่