อธิบายเมธอดคำขอ HTTP

HTTP กำหนดเมธอดคำขอมาตรฐาน 9 แบบ แต่ทราฟฟิกในชีวิตประจำวันส่วนใหญ่ใช้เพียงไม่กี่แบบ ตารางนี้อธิบายแต่ละเมธอด ว่าปลอดภัยและเป็น idempotent หรือไม่ พร้อมรหัสสถานะที่การเรียกที่สำเร็จส่งกลับมา

อัปเดต:

เมธอดวัตถุประสงค์ปลอดภัย?Idempotent?สถานะสำเร็จ
GETRetrieve a resourceYesYes200 OK
HEADRetrieve headers only, no bodyYesYes200 OK
POSTCreate a resource or trigger an actionNoNo201 Created
PUTReplace a resource entirelyNoYes200 OK / 204 No Content
PATCHApply a partial updateNoNo200 OK
DELETERemove a resourceNoYes200 OK / 204 No Content
OPTIONSCORS preflight; list allowed methodsYesYes204 / 200 OK
TRACEEcho the request back for diagnosticsYesYes200 OK
CONNECTOpen a tunnel, e.g. HTTPS via a proxyNoNo200 OK

หมายเหตุ

คำถามที่พบบ่อย

GET กับ POST ต่างกันอย่างไร?
GET ใช้ดึงทรัพยากรโดยไม่มีผลข้างเคียงและเรียกซ้ำได้อย่างปลอดภัย พารามิเตอร์อยู่ใน URL ส่วน POST ใช้สร้างสิ่งใหม่หรือเรียกให้เกิดการกระทำ อาจเปลี่ยนสถานะ จึงไม่ควรเรียกซ้ำโดยไม่ระวัง
เมธอด HTTP ที่ 'ปลอดภัย' หมายความว่าอะไร?
เมธอดที่ปลอดภัยจะไม่เปลี่ยนสถานะของเซิร์ฟเวอร์ จึงเรียกได้โดยไม่เสี่ยง GET, HEAD, OPTIONS และ TRACE ปลอดภัย ส่วน POST, PUT, PATCH และ DELETE ไม่ปลอดภัย
PUT กับ PATCH ต่างกันอย่างไร?
PUT แทนที่ทรัพยากรทั้งหมดด้วยข้อมูลที่ส่งไป ส่วน PATCH เปลี่ยนแปลงบางฟิลด์ที่เลือกเท่านั้น PUT เป็น idempotent คือเรียกซ้ำก็ได้ผลเหมือนเดิม ส่วน PATCH โดยทั่วไปไม่เป็น
เมธอด HEAD ใช้ทำอะไร?
HEAD ทำงานเหมือน GET แต่ไม่ส่ง body กลับมา ใช้ตรวจสอบว่าทรัพยากรมีอยู่ ขนาดเท่าไร หรือดู header โดยไม่ต้องดาวน์โหลดเนื้อหาทั้งหมด