IETF ผ่านมาตรฐาน RFC 10008 เพิ่มคำสั่ง HTTP QUERY เป็นคำสั่งที่ 9 ใช้สำหรับการดึงข้อมูลแบบเดียวกับ GET แต่สามารถรองรับคิวรีที่ซับซ้อน โดยเปลี่ยนจากการส่งค่าคิวรีใน URL ไปใส่ไว้ใน body แทน เพื่อลดความยาวของ URL
มาตรฐาน HTTP เป็นทางการครั้งแรกใน RFC 2068 เมื่อปี 1997 กำหนดคำสั่งไว้ 7 คำสั่ง ได้แก่ OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE ก่อนจะเพิ่มคำสั่ง CONNECT ใน RFC 2616 ในปี 1999 อย่างไรก็ดีมาตรฐานถูกปรับมาเรื่อยๆ โดยอัปเดตล่าสุดที่ RFC 9110 เมื่อปี 2022 แต่ไม่มีการเพิ่มคำสั่ง
ก่อนหน้านี้การคิวรีที่ซับซ้อนสูงต้องส่งคิวรียาวๆ อาจจะใช้คำสั่ง POST เพื่อส่งคิวรีใน body แต่ QUERY จะอยู่ในกลุ่มคำสั่งปลอดภัย แปลว่าการส่งคำสั่งนี้จะไม่ทำให้ข้อมูลเปลี่ยนไป ก่อนหน้านี้คำสั่งกลุ่มปลอดภัยได้แก่ GET, HEAD, OPTIONS, และ TRACE สำหรับคำสั่งแบบไม่ปลอดภัยคือคำสั่งที่ส่งแล้วมีการเปลี่ยนข้อมูล แต่ในกลุ่มนี้ยังมีกลุ่มย่อย idempotent ที่สามารถเรียกซ้ำไปเรื่อยๆ ได้โดยไม่ทำให้ข้อมูลเปลี่ยนไปอีก ได้แก่ คำสั่ง PUT และ DELETE
RFC 10008 เป็นมาตรฐาน RFC แรกที่มีเลขห้าหลัก โดยมาตรฐานอื่นๆ ที่ยังอยู่ในกระบวนการแก้ไขก็ถูกข้ามเลขเอาไว้ RFC ล่าสุดแบบไม่ข้ามอยู่ที่ RFC 9969 แต่เลขหลังจากนั้นถูกข้ามมาเรื่อยๆ
ที่มา - IETF
on
เท่าที่รู้ และอาจจะไม่ถูกคือ…
rattananen Thu, 18/06/2026 - 09:56
เท่าที่รู้ และอาจจะไม่ถูกคือ
มันเกี่ยวกับ RESTful , GET ใช้ get resource , POST ใช้ insert
แต่เนื่องจาก หลาย api เวลา get resouce ใช้ parameter เป็น json ซึ่งส่งโดยใช้ GET ลำบาก
dev เลยต้องใช้ POST set content-type เป็น json เพื่อ get resource แทน ซึ่งมันจะไปผิด RESTful standard ที่ POST ใช้ insert
เขาเลยออกแบ method QUERY ขึ้นมา
ถ้าให้เดา…
btoy Thu, 18/06/2026 - 13:12
In reply to เท่าที่รู้ และอาจจะไม่ถูกคือ… by rattananen
ถ้าให้เดา หลักๆก็น่าจะประมาณนี้ล่ะครับ ใช้เหมือน GET โดยอ่าน body แทนที่จะส่ง Query ยาวๆผ่าน URL