Content-Type และส่วนหัว Accept
เหตุใดการตอบกลับ JSON จึงประกาศ application/json
Content-Type และส่วนหัว Accept เป็นบทเรียน Flask Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Flask Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
ส่วนหัวสื่อความหมาย
การตอบกลับมีมากกว่าเนื้อหา ส่วนหัว HTTP จะอธิบายเนื้อหานั้น และมีอยู่สองส่วนที่กำหนดวิธีส่ง JSON ระหว่างไคลเอ็นต์กับเซิร์ฟเวอร์ 📨
Content-Type บอกอะไร
ส่วนหัว Content-Type จะประกาศรูปแบบของเนื้อหาที่คุณกำลังส่ง สำหรับการตอบกลับ JSON ค่าของมันคือ application/json
Content-Type: application/jsonjsonify ตั้งค่าให้คุณ
โดยทั่วไปคุณแทบไม่ต้องตั้งค่าส่วนหัวนี้เอง เมื่อเรียกใช้ jsonify Flask จะแนบ application/json ให้อัตโนมัติ ทำให้ไคลเอ็นต์แยกวิเคราะห์ได้ถูกต้องเสมอ
เหตุใดจึงสำคัญต่อไคลเอ็นต์
เบราว์เซอร์หรือไลบรารีจะอ่าน Content-Type เพื่อเลือกวิธีจัดการเนื้อหา เมื่อเห็น application/json ก็จะแยกวิเคราะห์ข้อความให้เป็นออบเจ็กต์ที่ใช้งานได้
ชนิดไม่ถูกต้อง ผลลัพธ์ก็ไม่ถูกต้อง
หากส่งข้อความ JSON เป็น text/html ธรรมดา ไคลเอ็นต์อาจไม่แยกวิเคราะห์ให้ เนื้อหาอาจดูถูกต้อง แต่การขาดสัญญาณนี้ทำให้การถอดรหัสอัตโนมัติล้มเหลว
ส่วนหัว Accept บอกอะไร
คำขอสามารถมีส่วนหัว Accept ที่ระบุรูปแบบที่ไคลเอ็นต์ต้องการได้ นี่เป็นเพียงความต้องการที่บอกเซิร์ฟเวอร์ว่าควรตอบกลับด้วยชนิดใด
Accept: application/jsonContent-Type กับ Accept
จำความแตกต่างของทั้งคู่ให้ดี: Content-Type อธิบายเนื้อหาในข้อความปัจจุบัน ส่วน Accept ระบุรูปแบบที่ไคลเอ็นต์หวังว่าจะได้รับกลับ
อ่าน Accept ใน Flask
คุณสามารถตรวจสอบคำขอเพื่อทำตามสิ่งที่ผู้เรียกต้องการได้ พร็อกซี request.accept_mimetypes จะแสดงรูปแบบที่ระบุไว้ในส่วนหัวนั้น
request.accept_mimetypes["application/json"]การเจรจารูปแบบเนื้อหา
การให้บริการรูปแบบที่ไคลเอ็นต์ร้องขอเรียกว่า การเจรจารูปแบบเนื้อหา API สามารถส่งคืน JSON หรือ HTML สำหรับเส้นทางเดียวกันได้ โดยอิงจาก Accept
เนื้อหาคำขอก็มีชนิดเช่นกัน
คำขอขาเข้าก็มี Content-Type เช่นกัน เมื่อไคลเอ็นต์ส่ง application/json Flask จะทราบว่าเนื้อหาเป็น JSON และ request.get_json สามารถแยกวิเคราะห์ได้
เชื่อถือค่าเริ่มต้น
สำหรับ JSON API ส่วนใหญ่ การให้ jsonify จัดการ Content-Type ก็เพียงพอแล้ว ใช้ Accept ก็ต่อเมื่อเส้นทางหนึ่งต้องให้บริการหลายรูปแบบ เท่านั้น
ตรวจสอบอย่างรวดเร็ว
แยกความแตกต่างของส่วนหัวสองรายการที่กำหนดการแลกเปลี่ยน JSON
สรุป
คุณได้เรียนรู้ว่า Content-Type ระบุชนิดของเนื้อหา ส่วน Accept ใช้ร้องขอรูปแบบ และ jsonify ตั้งค่า application/json ให้ ทำให้ไคลเอ็นต์ JSON ทำงานได้ทันที 🎉
เรียนรู้ Python ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “Content-Type และส่วนหัว Accept” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “Content-Type และส่วนหัว Accept” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Flask Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Flask Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “Content-Type และส่วนหัว Accept”
เหตุใดการตอบกลับ JSON จึงประกาศ application/json คุณปฏิบัติ Flask Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Flask Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Flask Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “Content-Type และส่วนหัว Accept” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Flask Academy นี้ได้ไหม
ได้ บทเรียน Flask Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แปลงพจนานุกรมเป็น JSON ด้วย jsonify
- ส่งคืนรายการและข้อมูลซ้อนกัน
- กำหนดรหัสสถานะในการตอบกลับ JSON
- Content-Type และส่วนหัว Accept