อย่างละเอียด แต่คัดลอกมาจากข้อกำหนดวิธีการ HTTP 1.1 ที่http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
9.3 GET
วิธีการ GET หมายถึงการดึงข้อมูลใด ๆ (ในรูปแบบของนิติบุคคล) จะถูกระบุโดย Request-URI หาก Request-URI อ้างถึงกระบวนการผลิตข้อมูลมันเป็นข้อมูลที่ผลิตซึ่งจะถูกส่งคืนเป็นเอนทิตีในการตอบกลับไม่ใช่ข้อความต้นฉบับของกระบวนการยกเว้นว่าข้อความนั้นเป็นผลลัพธ์ของกระบวนการ
ซีแมนทิกส์ของเมธอด GET จะเปลี่ยนเป็น "เงื่อนไขแบบรับ" หากข้อความคำร้องขอมีฟิลด์ If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match หรือ If-Range เมธอด GET แบบมีเงื่อนไขร้องขอให้โอนเอนทิตีภายใต้สถานการณ์ที่อธิบายโดยฟิลด์ส่วนหัวที่มีเงื่อนไข วิธี GET แบบมีเงื่อนไขมีจุดประสงค์เพื่อลดการใช้เครือข่ายที่ไม่จำเป็นโดยอนุญาตให้รีเฟรชเอนทิตีที่แคชไว้โดยไม่ต้องร้องขอหลายครั้งหรือถ่ายโอนข้อมูลที่มีอยู่แล้วโดยไคลเอ็นต์
ซีแมนทิกส์ของวิธีการ GET เปลี่ยนเป็น "รับบางส่วน" หากข้อความคำขอมีฟิลด์ส่วนหัวของช่วง GET บางส่วนร้องขอให้โอนเฉพาะบางส่วนของเอนทิตีตามที่อธิบายไว้ในส่วน 14.35 วิธี GET บางส่วนมีวัตถุประสงค์เพื่อลดการใช้เครือข่ายที่ไม่จำเป็นโดยอนุญาตให้เอนทิตีที่ดึงข้อมูลบางส่วนแล้วเสร็จโดยไม่ต้องถ่ายโอนข้อมูลที่มีอยู่แล้วโดยลูกค้า
การตอบสนองต่อการร้องขอ GET นั้นสามารถแคชได้ถ้าหากเป็นไปตามข้อกำหนดสำหรับการแคช HTTP ที่อธิบายไว้ในส่วนที่ 13
ดูส่วนที่ 15.1.3 สำหรับข้อควรพิจารณาด้านความปลอดภัยเมื่อใช้กับแบบฟอร์ม
9.5 โพสต์
เมธอด POST ใช้เพื่อร้องขอให้เซิร์ฟเวอร์ต้นทางยอมรับเอนทิตีที่อยู่ในคำขอเป็นผู้ใต้บังคับบัญชาใหม่ของทรัพยากรที่ระบุโดย Request-URI ใน Request-Line POST ได้รับการออกแบบมาเพื่อให้วิธีการแบบเดียวกันครอบคลุมฟังก์ชั่นต่อไปนี้:
- Annotation of existing resources;
- Posting a message to a bulletin board, newsgroup, mailing list,
or similar group of articles;
- Providing a block of data, such as the result of submitting a
form, to a data-handling process;
- Extending a database through an append operation.
ฟังก์ชั่นที่เกิดขึ้นจริงดำเนินการโดยวิธีการ POST จะถูกกำหนดโดยเซิร์ฟเวอร์และมักจะขึ้นอยู่กับ Request-URI เอนทิตีที่ถูกโพสต์นั้นเป็นสังกัดอยู่ใน URI นั้นในลักษณะเดียวกับที่ไฟล์นั้นถูกส่งไปยังไดเรคทอรี่ที่มีอยู่บทความข่าวจะถูกส่งไปยังกลุ่มข่าวสารที่โพสต์ไว้หรือบันทึกเป็นสังกัด
การกระทำที่ดำเนินการโดยวิธี POST อาจไม่ส่งผลให้เกิดทรัพยากรที่สามารถระบุได้โดย URI ในกรณีนี้ 200 (OK) หรือ 204 (ไม่มีเนื้อหา) เป็นสถานะการตอบสนองที่เหมาะสมขึ้นอยู่กับว่าการตอบสนองนั้นมีเอนทิตีที่อธิบายผลลัพธ์หรือไม่
หากมีการสร้างทรัพยากรบนเซิร์ฟเวอร์ต้นทางการตอบสนองควรเป็น 201 (สร้างขึ้น) และมีเอนทิตีที่อธิบายสถานะของคำขอและอ้างอิงถึงทรัพยากรใหม่และส่วนหัวตำแหน่งที่ตั้ง (ดูหัวข้อ 14.30)
การตอบสนองต่อวิธีนี้จะไม่สามารถแคชได้เว้นแต่ว่าการตอบกลับจะรวมถึงการควบคุมแคชหรือฟิลด์ส่วนหัวที่หมดอายุ อย่างไรก็ตามการตอบสนอง 303 (ดูอื่น ๆ ) สามารถนำมาใช้เพื่อกำหนดตัวแทนผู้ใช้เพื่อดึงทรัพยากรที่แคชได้
คำขอ POST ต้องปฏิบัติตามข้อกำหนดการส่งข้อความที่กำหนดไว้ในส่วนที่ 8.2
ดูหัวข้อ 15.1.3 สำหรับข้อควรพิจารณาด้านความปลอดภัย
9.6 PUT
วิธี PUT ร้องขอให้เก็บเอนทิตีที่ถูกล้อมไว้ภายใต้ Request-URI ที่ให้มา หาก Request-URI อ้างถึงทรัพยากรที่มีอยู่แล้วนิติบุคคลที่ปิดอยู่ควรได้รับการพิจารณาว่าเป็นเวอร์ชันดัดแปลงขององค์กรที่อยู่ในเซิร์ฟเวอร์ต้นทาง หาก Request-URI ไม่ได้ชี้ไปที่ทรัพยากรที่มีอยู่และ URI นั้นสามารถกำหนดเป็นทรัพยากรใหม่ได้โดยตัวแทนผู้ใช้ที่ร้องขอเซิร์ฟเวอร์ต้นทางสามารถสร้างทรัพยากรด้วย URI นั้น หากมีการสร้างทรัพยากรใหม่เซิร์ฟเวอร์ต้นทางต้องแจ้งตัวแทนผู้ใช้ผ่านการตอบกลับ 201 (สร้าง) หากมีการแก้ไขทรัพยากรที่มีอยู่ให้ส่งรหัสตอบกลับ 200 (OK) หรือ 204 (ไม่มีเนื้อหา) เพื่อบ่งชี้ว่าการร้องขอสำเร็จ หากไม่สามารถสร้างหรือแก้ไขทรัพยากรด้วย Request-URI การตอบสนองข้อผิดพลาดที่เหมาะสมควรได้รับที่สะท้อนถึงลักษณะของปัญหา ผู้รับเอนทิตีต้องไม่เพิกเฉยต่อส่วนหัวของ Content- * (เช่น Content-Range) ที่ไม่เข้าใจหรือนำไปใช้และต้องส่งคืนการตอบสนอง 501 (ไม่นำไปใช้) ในกรณีดังกล่าว
หากการร้องขอผ่านแคชและ Request-URI ระบุเอนทิตีแคชในปัจจุบันอย่างน้อยหนึ่งรายการรายการเหล่านั้นควรถูกใช้เป็นค้าง การตอบสนองต่อวิธีนี้ไม่สามารถแคชได้
ความแตกต่างพื้นฐานระหว่างคำขอ POST และ PUT สะท้อนให้เห็นในความหมายที่แตกต่างกันของ Request-URI URI ในคำขอ POST ระบุทรัพยากรที่จะจัดการกับเอนทิตีที่ปิดล้อม ทรัพยากรนั้นอาจเป็นกระบวนการยอมรับข้อมูลเกตเวย์ไปยังโปรโตคอลอื่นหรือเอนทิตีแยกต่างหากที่ยอมรับคำอธิบายประกอบ ในทางตรงกันข้าม URI ในคำขอ PUT จะระบุเอนทิตีที่แนบมากับคำขอ - ตัวแทนผู้ใช้รู้ว่า URI มีจุดประสงค์อะไรและเซิร์ฟเวอร์ต้องไม่พยายามใช้คำขอกับทรัพยากรอื่น ๆ หากเซิร์ฟเวอร์ต้องการให้มีการนำคำขอไปใช้กับ URI อื่น
มันต้องส่งการตอบสนอง 301 (ย้ายอย่างถาวร) ตัวแทนผู้ใช้อาจตัดสินใจเองว่าจะเปลี่ยนเส้นทางคำขอหรือไม่
อาจระบุทรัพยากรเดียวโดย URI ที่แตกต่างกันจำนวนมาก ตัวอย่างเช่นบทความอาจมี URI สำหรับระบุ "รุ่นปัจจุบัน" ซึ่งแยกจาก URI ที่ระบุแต่ละรุ่น ในกรณีนี้คำขอ PUT บน URI ทั่วไปอาจส่งผลให้มีการระบุ URI อื่น ๆ อีกหลายรายการโดยเซิร์ฟเวอร์ต้นทาง
HTTP / 1.1 ไม่ได้กำหนดว่าวิธีการ PUT มีผลต่อสถานะของเซิร์ฟเวอร์ต้นทางอย่างไร
คำขอ PUT ต้องปฏิบัติตามข้อกำหนดการส่งข้อความที่กำหนดไว้ในส่วนที่ 8.2
เว้นแต่จะระบุไว้เป็นอย่างอื่นสำหรับส่วนหัวเอนทิตีเฉพาะเอนทิตีส่วนหัวในคำขอ PUT ควรใช้กับทรัพยากรที่สร้างหรือแก้ไขโดย PUT
9.7 DELETE
เมธอด DELETE ร้องขอให้เซิร์ฟเวอร์ต้นทางลบทรัพยากรที่ระบุโดย Request-URI วิธีนี้อาจถูกแทนที่โดยการแทรกแซงของมนุษย์ (หรือวิธีอื่น ๆ ) บนเซิร์ฟเวอร์ต้นทาง ลูกค้าไม่สามารถรับประกันได้ว่าการดำเนินการได้ดำเนินการแม้ว่ารหัสสถานะที่ส่งคืนจากเซิร์ฟเวอร์ต้นทางบ่งชี้ว่าการดำเนินการเสร็จสมบูรณ์แล้ว อย่างไรก็ตามเซิร์ฟเวอร์ไม่ควรระบุความสำเร็จเว้นแต่ในเวลาที่มีการตอบสนองจะมีความตั้งใจที่จะลบทรัพยากรหรือย้ายไปยังตำแหน่งที่ไม่สามารถเข้าถึงได้
การตอบสนองที่ประสบความสำเร็จควรเป็น 200 (OK) หากการตอบสนองนั้นรวมถึงเอนทิตีที่อธิบายสถานะ 202 (ยอมรับแล้ว) หากการกระทำนั้นยังไม่ได้มีการประกาศใช้หรือ 204 (ไม่มีเนื้อหา) หากการกระทำนั้นมีการตราขึ้นแล้ว นิติบุคคล
หากการร้องขอผ่านแคชและ Request-URI ระบุเอนทิตีแคชในปัจจุบันอย่างน้อยหนึ่งรายการรายการเหล่านั้นควรถูกใช้เป็นค้าง การตอบสนองต่อวิธีนี้ไม่สามารถแคชได้