คู่มือฉบับสมบูรณ์เกี่ยวกับการใช้ HTTP GET พร้อม Request Body

ใน HTTP, GET ไม่ใช้ body เพราะอะไร? คู่มือนี้อธิบายและวิธีใช้ GET

อาชว์

อาชว์

25 August 2025

คู่มือฉบับสมบูรณ์เกี่ยวกับการใช้ HTTP GET พร้อม Request Body

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

เมื่อพูดถึง HTTP (Hypertext Transfer Protocol) คุณอาจสงสัยว่าทำไมเมธอด GET โดยทั่วไปจึงไม่ใช้ request body ท้ายที่สุดแล้ว ในโลกของคำขอเว็บ เป็นเรื่องปกติที่จะส่งข้อมูลใน request body เพื่อส่งข้อมูลไปยังเซิร์ฟเวอร์ อย่างไรก็ตาม เมธอด GET แม้ว่าจะเป็นหนึ่งในเมธอด HTTP พื้นฐานที่สุด แต่ก็ทำงานแตกต่างกันเล็กน้อย

ในคู่มือนี้ เราจะอธิบายว่าทำไมคำขอ HTTP GET จึงมักไม่รวม request body สำรวจวัตถุประสงค์ของเมธอด GET และหารือเกี่ยวกับวิธีการส่งคำขอ GET

Request Body ใน HTTP คืออะไร

ใน HTTP request body เป็นส่วนหนึ่งของข้อความคำขอที่ส่งข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์ มันมีความสำคัญสำหรับเมธอดต่างๆ เช่น POST, PUT และ PATCH ซึ่งใช้เพื่อสร้าง อัปเดต หรือแก้ไขทรัพยากร ตัวอย่างเช่น ในคำขอ POST เพื่อสร้างบัญชีผู้ใช้ รายละเอียดผู้ใช้จะอยู่ใน request body ในทางตรงกันข้าม เมธอดต่างๆ เช่น GET หรือ DELETE มักจะไม่ใช้ request body โดยเน้นที่ URLs และ headers สำหรับการดึงหรือลบทรัพยากร

คำขอ GET มี body ใน HTTP หรือไม่

ใช่ ในทางเทคนิคแล้ว เป็นไปได้ที่จะรวม request body ในคำขอ HTTP GET ตามข้อกำหนด HTTP/1.1 ข้อความคำขอ HTTP ใดๆ ได้รับอนุญาตให้มี message body และเซิร์ฟเวอร์ต้องแยกวิเคราะห์ข้อความโดยคำนึงถึงสิ่งนี้ อย่างไรก็ตาม สิ่งสำคัญคือต้องเข้าใจว่าความหมายของเซิร์ฟเวอร์สำหรับเมธอด GET นั้นถูกจำกัดในลักษณะที่ body หากรวมอยู่ จะไม่มีความหมายใดๆ กับคำขอ

ในแง่ง่ายๆ แม้ว่าจะไม่มีการห้ามอย่างชัดเจนในการรวม request body ในคำขอ GET แต่ก็ไม่มีประโยชน์ที่จะทำเช่นนั้น วัตถุประสงค์ของเมธอด GET คือการดึงข้อมูลที่ระบุโดย Request-URI และการเปลี่ยนแปลงคำขอโดยการเพิ่ม body อาจนำไปสู่ความยุ่งยากและไม่สอดคล้องกับธรรมเนียม HTTP มาตรฐาน

ข้อกำหนด HTTP/1.1

ข้อกำหนด HTTP/1.1 (RFC 7230) อนุญาตให้รวม request body ในคำขอ GET แม้ว่าจะไม่แนะนำโดยทั่วไปก็ตาม แม้ว่าจะทำได้ในทางเทคนิค แต่การแนบ body ไปยังคำขอ GET นั้นขัดต่อหลักการของการใช้ GET เพื่อดึงข้อมูลอย่างปลอดภัยโดยไม่แก้ไขทรัพยากรของเซิร์ฟเวอร์

ทำไมคำขอ HTTP GET จึงไม่ใช้ Body

ทำไมเมธอด GET จึงไม่ใช้ HTTP body ต่อไป เราจะแนะนำเหตุผลหลักว่าทำไมเมธอด GET จึงไม่ใช้ request body

ข้อจำกัดของข้อกำหนด HTTP

รับประกัน Iden Potency

การใช้งานแคช

ความง่ายในการบุ๊กมาร์กและการแชร์

ความปลอดภัย

ด้วยเหตุผลข้างต้น เมธอด GET โดยทั่วไปจึงไม่ใช้ request body

ข้อยกเว้น: เมื่อใช้ HTTP Body แม้ในเมธอด GET

อย่างไรก็ตาม นี่ไม่ได้หมายความว่าคุณไม่สามารถใช้ HTTP body กับเมธอด GET ได้เสมอไป ในกรณีต่อไปนี้ request body อาจถูกส่งโดยใช้เมธอด GET ด้วย

ในขณะที่เมธอด HTTP GET ไม่เกี่ยวข้องกับการใช้ request body ตามธรรมเนียม มีข้อยกเว้น ตัวอย่างเช่น เมื่อระบุเกณฑ์การค้นหา เช่น คำหลักในการค้นหา คุณสามารถรวมไว้ใน request body และใช้เมธอด GET สำหรับการส่งได้

ในกรณีที่จำนวน query parameters มีจำกัด เช่น ใน REST API request body สามารถทำหน้าที่เป็นทางเลือกในการส่งข้อมูลได้ นอกจากนี้ การลักลอบคำขออาจเกี่ยวข้องกับการส่ง request body เท็จเพื่อขัดขวางการวิเคราะห์การรับส่งข้อมูล ในทางปฏิบัติ แม้ว่าเมธอด GET โดยทั่วไปจะยกเว้น request body แต่มีบางกรณีที่สามารถเบี่ยงเบนไปจากกฎนี้ได้ ในสถานการณ์ส่วนใหญ่ที่เกี่ยวข้องกับการส่งข้อมูลผ่าน HTTP body เมธอดต่างๆ เช่น POST และ PUT มักถูกนำมาใช้

Apidog: เข้ากันได้กับคำขอ HTTP ทั้งหมดอย่างสมบูรณ์ (GET, POST, PUT, DELETE)

แล้วฉันควรทำอย่างไรหากต้องการส่งข้อมูลใน HTTP body โดยใช้เมธอดต่างๆ เช่น GET หรือ POST เครื่องมือจัดการ API ที่ยอดเยี่ยมชื่อ Apidog รองรับเมธอด HTTP ทั้งหมดอย่างเต็มที่ ดังนั้นคุณสามารถระบุหนึ่งในเมธอด HTTP เมื่อส่ง คำขอ HTTP และเลือกว่าจะใช้ HTTP body หรือไม่ สามารถทำได้

นอกจากนี้ หากคุณพัฒนา API ด้วยตัวคุณเอง คุณไม่เพียงแต่สามารถออกแบบ API ได้เท่านั้น แต่ยังสามารถทำงานต่างๆ เช่น การสร้างข้อกำหนด API การทดสอบอัตโนมัติ การจำลองข้อมูล ฯลฯ

Apidog

Apidog ยังรองรับเมธอด HTTP ต่างๆ รวมถึง GET และ POST ทั้ง Web API ใช้โปรโตคอล HTTP ดังนั้นคุณต้องเลือกเมธอด HTTP ขึ้นอยู่กับวัตถุประสงค์ของคุณ เมื่อพูดถึงเมธอด HTTP จะมีสิ่งต่อไปนี้เสมอ:

คุณสามารถเลือกเมธอดที่ต้องการจากรายการดรอปดาวน์เมธอด HTTP หรือหากคุณต้องการใช้ HTTP body คุณสามารถสลับไปที่แท็บ "Body" ของพารามิเตอร์ Request ได้อย่างง่ายดาย

คลิกปุ่ม "ส่ง" คุณจะได้รับการตอบสนอง GET อย่างรวดเร็ว

button

Explore more

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สร้างทางเลือกสำหรับ Claude Web Search แบบ Open Source (พร้อมเซิร์ฟเวอร์ Firecrawl MCP)

สำหรับองค์กรที่ต้องการควบคุม, ปรับแต่ง, หรือความเป็นส่วนตัวมากกว่าการค้นหาเว็บของ Claude, การสร้างทางเลือกโดยใช้ Firecrawl เป็นทางออกที่ดี มาเรียนรู้กัน!

21 March 2025

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2026

10 อันดับทางเลือกที่ดีที่สุดสำหรับการเล่นวินเซิร์ฟสำหรับนักเขียนโค้ดที่ชอบความรู้สึกในปี 2026

ค้นพบ 10 ทางเลือก Windsurf ปี 2026 ปรับปรุงการเขียนโค้ด เหมาะสำหรับนักพัฒนาที่ต้องการโซลูชันการเขียนโค้ดที่มีประสิทธิภาพ ปลอดภัย และหลากหลาย

20 March 2025

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

Figma มีเซิร์ฟเวอร์ MCP แล้ว และนี่คือวิธีใช้งาน

ค้นพบวิธีเชื่อมต่อ Figma MCP กับ AI เช่น Cursor เพื่อสร้างโค้ดอัตโนมัติ เหมาะสำหรับนักพัฒนาและนักออกแบบ

20 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API