การส่งข้อมูล HTTP แบบสตรีมได้
ดูวิธีที่ MCP ทำงานผ่านปลายทาง HTTP เดียว
การส่งข้อมูล HTTP แบบสตรีมได้ เป็นบทเรียน MCP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MCP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
ทำความรู้จัก Streamable HTTP
การขนส่งระยะไกลสมัยใหม่ของ MCP เรียกว่า Streamable HTTP ช่วยให้เซิร์ฟเวอร์ของคุณอยู่หลัง URL เว็บเดียวที่ไคลเอ็นต์ใด ๆ บนอินเทอร์เน็ตเข้าถึงได้
ปลายทางเดียวสำหรับทุกอย่าง
ต่างจากการออกแบบรุ่นเก่า Streamable HTTP ใช้ ปลายทางเดียว ซึ่งมักมีรูปแบบประมาณ /mcp ทั้งคำขอและการตอบกลับจะไหลผ่านเส้นทางเดียวกัน
POST https://api.example.com/mcpไคลเอ็นต์ส่งข้อความด้วย POST
หากต้องการเรียกใช้เครื่องมือ ไคลเอ็นต์จะส่ง POST ของ HTTP ปกติไปยังปลายทาง เนื้อหาคือข้อความ JSON-RPC แบบเดียวกับที่คุณเรียนรู้มาแล้ว 📨
วิธีตอบกลับสองแบบ
เซิร์ฟเวอร์สามารถตอบกลับได้สองรูปแบบ: การตอบกลับเป็น JSON ธรรมดาสำหรับการเรียกที่รวดเร็ว หรือสตรีมเหตุการณ์เมื่อจำเป็นต้องส่งผลลัพธ์ทีละส่วน
เฮดเดอร์ Accept เป็นตัวตัดสิน
เฮดเดอร์ Accept ของไคลเอ็นต์จะระบุว่ารองรับรูปแบบใด การระบุทั้ง JSON และชนิดสตรีมเหตุการณ์ทำให้เซิร์ฟเวอร์เลือกฟอร์แมตการตอบกลับที่เหมาะสมที่สุดได้
Accept: application/json, text/event-streamยังคงเป็น JSON-RPC
การขนส่งเปลี่ยนไป แต่ภาษายังคงเดิม ทุกข้อความที่ส่งผ่าน HTTP ยังคงเป็นคำขอ การตอบกลับ หรือการแจ้งเตือนแบบ JSON-RPC เช่นเดียวกับที่ได้เรียนไปก่อนหน้านี้
เปิดใช้ HTTP ใน SDK
เมื่อใช้ Python SDK คุณเพียงสลับการตั้งค่าหนึ่งจุด โดยเรียกใช้เซิร์ฟเวอร์ด้วยการขนส่งแบบ streamable-http แทน stdio เครื่องมือยังคงเหมือนเดิมทุกประการ
mcp.run(transport="streamable-http")ทำงานด้วย HTTP ธรรมดา
เนื่องจากเป็น HTTP ทั่วไป จึงทำงานร่วมกับสแตกเว็บทั้งหมดได้อย่างราบรื่น ไม่ว่าจะเป็นโหลดบาลานเซอร์ พร็อกซี และ TLS ก็ใช้ได้โดยไม่ต้องมีอะไร พิเศษ 🌐
มีสถานะหรือไร้สถานะ
Streamable HTTP ทำงานแบบมี สถานะ โดยจดจำเซสชันไว้ หรือทำงานแบบไร้สถานะ โดยถือว่าการเรียกแต่ละครั้งเป็นการเริ่มต้นใหม่ คุณเลือกได้ตามวิธีที่เซิร์ฟเวอร์จัดเก็บบริบท
เข้ามาแทนที่การขนส่งแบบเก่า
การออกแบบ HTTP+SSE รุ่นก่อนใช้เส้นทางแยกกันสองเส้นทางและยุ่งยากกว่า Streamable HTTP จึง เข้ามาแทนที่ ในฐานะวิธีที่แนะนำสำหรับให้บริการ MCP จากระยะไกล
เหตุผลที่เรื่องนี้สำคัญ
การออกแบบที่ใช้ปลายทางเดียวนี้ทำให้เซิร์ฟเวอร์ MCP ระยะไกลนำไปใช้งานได้จริง และทำให้ไคลเอ็นต์ใด ๆ เชื่อมต่อ จากที่ใดก็ได้อย่างง่ายดาย
ตรวจสอบความเข้าใจ
ไคลเอ็นต์ส่งการเรียกใช้เครื่องมือผ่าน Streamable HTTP อย่างไร
สรุป: Streamable HTTP
Streamable HTTP ให้บริการ MCP ผ่าน ปลายทาง HTTP เดียว โดยไคลเอ็นต์ส่ง JSON-RPC ด้วย POST และเซิร์ฟเวอร์ตอบกลับเป็น JSON หรือสตรีมเหตุการณ์แบบต่อเนื่อง ตรรกะเดิม แต่เข้าถึงจากระยะไกลได้ 🚀
คำถามที่พบบ่อย
บทเรียน “การส่งข้อมูล HTTP แบบสตรีมได้” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การส่งข้อมูล HTTP แบบสตรีมได้” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MCP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MCP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การส่งข้อมูล HTTP แบบสตรีมได้”
ดูวิธีที่ MCP ทำงานผ่านปลายทาง HTTP เดียว คุณปฏิบัติ MCP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MCP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MCP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การส่งข้อมูล HTTP แบบสตรีมได้” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MCP Academy นี้ได้ไหม
ได้ บทเรียน MCP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุใด stdio จึงไม่เพียงพอ
- การส่งข้อมูล HTTP แบบสตรีมได้
- สตรีมการตอบกลับด้วย SSE
- เซสชันและการเชื่อมต่อใหม่