MCP Academy · บทเรียน

เซสชันและการเชื่อมต่อใหม่

รักษาสถานะระหว่างคำขอและลิงก์ที่หลุด

บทเรียน 4 จาก 413 ขั้นตอน

เซสชันและการเชื่อมต่อใหม่ เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุใด stdio จึงไม่เพียงพอ
  2. การส่งข้อมูล HTTP แบบสตรีมได้
  3. สตรีมการตอบกลับด้วย SSE
  4. เซสชันและการเชื่อมต่อใหม่
← กลับไปที่ MCP Academy