Flask Academy · บทเรียน

Content-Type และส่วนหัว Accept

เหตุใดการตอบกลับ JSON จึงประกาศ application/json

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

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/json

jsonify ตั้งค่าให้คุณ

โดยทั่วไปคุณแทบไม่ต้องตั้งค่าส่วนหัวนี้เอง เมื่อเรียกใช้ jsonify Flask จะแนบ application/json ให้อัตโนมัติ ทำให้ไคลเอ็นต์แยกวิเคราะห์ได้ถูกต้องเสมอ

เหตุใดจึงสำคัญต่อไคลเอ็นต์

เบราว์เซอร์หรือไลบรารีจะอ่าน Content-Type เพื่อเลือกวิธีจัดการเนื้อหา เมื่อเห็น application/json ก็จะแยกวิเคราะห์ข้อความให้เป็นออบเจ็กต์ที่ใช้งานได้

ชนิดไม่ถูกต้อง ผลลัพธ์ก็ไม่ถูกต้อง

หากส่งข้อความ JSON เป็น text/html ธรรมดา ไคลเอ็นต์อาจไม่แยกวิเคราะห์ให้ เนื้อหาอาจดูถูกต้อง แต่การขาดสัญญาณนี้ทำให้การถอดรหัสอัตโนมัติล้มเหลว

ส่วนหัว Accept บอกอะไร

คำขอสามารถมีส่วนหัว Accept ที่ระบุรูปแบบที่ไคลเอ็นต์ต้องการได้ นี่เป็นเพียงความต้องการที่บอกเซิร์ฟเวอร์ว่าควรตอบกลับด้วยชนิดใด

Accept: application/json

Content-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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

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

  1. แปลงพจนานุกรมเป็น JSON ด้วย jsonify
  2. ส่งคืนรายการและข้อมูลซ้อนกัน
  3. กำหนดรหัสสถานะในการตอบกลับ JSON
  4. Content-Type และส่วนหัว Accept
← กลับไปที่ Flask Academy