HTTP PUT vs PATCH: อะไรคือความแตกต่าง?

เรียนรู้ความต่าง PUT vs PATCH ในบล็อกนี้! เลือกใช้ให้ถูกวิธี พัฒนา API อย่างมีประสิทธิภาพ

อาชว์

อาชว์

30 August 2025

HTTP PUT vs PATCH: อะไรคือความแตกต่าง?

คำขอ HTTP เป็นกระดูกสันหลังของการพัฒนาเว็บสมัยใหม่ พวกเขาช่วยให้เราโต้ตอบกับ API และดึงข้อมูลจากเซิร์ฟเวอร์ คำขอ HTTP ที่ใช้กันทั่วไปสองรายการคือ PUT และ PATCH ในบล็อกโพสต์นี้ เราจะสำรวจความแตกต่างระหว่างคำขอทั้งสองนี้และเมื่อใดควรใช้งาน

💡
ทดสอบและแก้ไขข้อบกพร่อง API ของคุณอย่างรวดเร็วด้วย Apidog โดยทำการร้องขอ HTTP ได้อย่างง่ายดาย รวมถึง PUT และ PATCH เริ่มต้นใช้งานได้ฟรีโดยดาวน์โหลดเลย!
button

API คืออะไร

ก่อนที่เราจะเจาะลึกถึงความแตกต่างระหว่าง PUT และ PATCH ก่อนอื่นมาทำความเข้าใจกันว่า API คืออะไร API ย่อมาจาก Application Programming Interface หรือ ส่วนต่อประสานการเขียนโปรแกรมประยุกต์ เป็นชุดของกฎที่กำหนดไว้ซึ่งช่วยให้แอปพลิเคชันต่างๆ สามารถสื่อสารซึ่งกันและกันได้ API ทำหน้าที่เป็นชั้นกลางที่ประมวลผลการถ่ายโอนข้อมูลระหว่างระบบ ทำให้บริษัทต่างๆ สามารถเปิดข้อมูลและฟังก์ชันการทำงานของแอปพลิเคชันให้กับนักพัฒนาบุคคลที่สามภายนอก พันธมิตรทางธุรกิจ และแผนกภายในภายในบริษัทของตนได้

คำจำกัดความและโปรโตคอลภายใน API ช่วยให้ธุรกิจเชื่อมต่อแอปพลิเคชันต่างๆ ที่พวกเขาใช้ในการดำเนินงานในแต่ละวัน ซึ่งช่วยประหยัดเวลาของพนักงานและทำลายไซโลที่ขัดขวางการทำงานร่วมกันและนวัตกรรม สำหรับนักพัฒนา เอกสารประกอบ API จะมีอินเทอร์เฟซสำหรับการสื่อสารระหว่างแอปพลิเคชัน ทำให้การรวมแอปพลิเคชันง่ายขึ้น API ใช้เพื่อเชื่อมช่องว่างระหว่างโค้ดขนาดเล็กและแยกจากกันเพื่อสร้างแอปพลิเคชันที่มีประสิทธิภาพ ยืดหยุ่น ปลอดภัย และสามารถตอบสนองความต้องการของผู้ใช้ได้

ภาพรวมของวิธีการ HTTP

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

ไคลเอนต์และเซิร์ฟเวอร์สื่อสารโดยการแลกเปลี่ยนข้อความแต่ละรายการ (แทนที่จะเป็นสตรีมข้อมูลต่อเนื่อง) ข้อความที่ส่งโดยไคลเอนต์ (โดยปกติคือเว็บเบราว์เซอร์) เรียกว่าคำขอ และข้อความที่ส่งโดยเซิร์ฟเวอร์เป็นการตอบสนองเรียกว่าการตอบสนอง HTTP เป็นโปรโตคอลที่ขยายได้ซึ่งมีการพัฒนาเมื่อเวลาผ่านไปและถูกส่งผ่าน TCP หรือผ่านการเชื่อมต่อ TCP ที่เข้ารหัส TLS เนื่องจากความสามารถในการขยายได้ จึงไม่เพียงแต่ใช้ในการดึงเอกสารข้อความหลายมิติเท่านั้น แต่ยังใช้ในการดึงรูปภาพและวิดีโอ หรือโพสต์เนื้อหาไปยังเซิร์ฟเวอร์ เช่นเดียวกับผลลัพธ์ของแบบฟอร์ม HTML นอกจากนี้ HTTP ยังสามารถใช้เพื่อดึงส่วนต่างๆ ของเอกสารเพื่ออัปเดตหน้าเว็บตามต้องการได้

บทนำของ HTTP PUT

HTTP PUT เป็นวิธีการ HTTP ที่ใช้เพื่อสร้างทรัพยากรใหม่หรือเขียนทับการแสดงทรัพยากรเป้าหมายที่ไคลเอนต์รู้จัก มันคล้ายกับวิธีการ HTTP POST ซึ่งใช้เพื่อเพิ่มทรัพยากรบนเซิร์ฟเวอร์

อย่างไรก็ตาม ต่างจาก POST, PUT คือ idempotent ซึ่งหมายความว่าการเรียกใช้ครั้งเดียวหรือหลายครั้งติดต่อกันมีผลเช่นเดียวกัน (นั่นคือไม่มีผลข้างเคียง) หาก Request-URI อ้างถึงทรัพยากรที่มีอยู่แล้ว เอนทิตีที่แนบมาควรได้รับการพิจารณาว่าเป็นเวอร์ชันที่แก้ไขแล้วของเอนทิตีที่อยู่ในเซิร์ฟเวอร์ต้นทาง

ทำความเข้าใจ HTTP PATCH

HTTP PATCH เป็นวิธีการร้องขอที่ใช้เพื่อทำการปรับเปลี่ยนบางส่วนกับทรัพยากรที่มีอยู่ มันคล้ายกับวิธีการ HTTP PUT ซึ่งใช้เพื่อสร้างทรัพยากรใหม่หรือเขียนทับการแสดงทรัพยากรเป้าหมายที่ไคลเอนต์รู้จัก อย่างไรก็ตาม ต่างจาก PUT, PATCH ใช้เพื่อแก้ไขเพียงส่วนหนึ่งของทรัพยากร ในขณะที่ PUT จะแทนที่ทรัพยากรทั้งหมด

วิธีการ PATCH มีเอนทิตีที่มีรายการการเปลี่ยนแปลงที่จะนำไปใช้กับทรัพยากรที่ร้องขอโดยใช้ HTTP Uniform Resource Identifier (URI) รายการการเปลี่ยนแปลงจะถูกจัดเตรียมในรูปแบบของเอกสาร PATCH วิธีการ PATCH ใช้เพื่ออัปเดตทรัพยากรด้วยข้อมูล JSON บางส่วน

เมื่อใดควรใช้ HTTP PUT

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

ความแตกต่างระหว่าง HTTP PUT และ HTTP POST คือ PUT คือ idempotent ซึ่งหมายความว่าการเรียกใช้ครั้งเดียวหรือหลายครั้งติดต่อกันมีผลเช่นเดียวกัน (นั่นคือไม่มีผลข้างเคียง) หาก Request-URI อ้างถึงทรัพยากรที่มีอยู่แล้ว เอนทิตีที่แนบมาควรได้รับการพิจารณาว่าเป็นเวอร์ชันที่แก้ไขแล้วของเอนทิตีที่อยู่ในเซิร์ฟเวอร์ต้นทาง

HTTP PUT เหมาะที่สุดเมื่อคุณต้องการแทนที่ทรัพยากรที่มีอยู่ทั้งหมดด้วยข้อมูลใหม่ ตัวอย่างเช่น หากคุณมีโปรไฟล์ผู้ใช้ที่มีหลายฟิลด์ เช่น ชื่อ อีเมล และหมายเลขโทรศัพท์ และคุณต้องการอัปเดตฟิลด์ทั้งหมดเหล่านี้พร้อมกัน คุณจะต้องใช้คำขอ PUT

นี่คือตัวอย่างวิธีที่คุณอาจใช้คำขอ HTTP PUT เพื่ออัปเดตเนื้อหาของไฟล์ที่มีอยู่บนเซิร์ฟเวอร์:

PUT /example.html HTTP/1.1
Host: sample.com
Content-Type: text/html
Content-Length: 20

<p>Updated File</p>

ในตัวอย่างนี้ คำขอ PUT จะถูกส่งไปยังทรัพยากรที่อยู่ที่ /example.html ส่วนหัว Content-Type ระบุว่าเนื้อหาคำขออยู่ในรูปแบบ HTML ส่วนหัว Content-Length ระบุขนาดของเนื้อหาคำขอ ซึ่งในกรณีนี้คือ 20 ไบต์ เนื้อหาคำขอมีเนื้อหาใหม่สำหรับไฟล์ ซึ่งเป็นองค์ประกอบย่อหน้า HTML อย่างง่ายพร้อมข้อความ “Updated File” หากไฟล์มีอยู่และเซิร์ฟเวอร์ประมวลผลคำขอสำเร็จ เซิร์ฟเวอร์จะแทนที่เนื้อหาของ example.html ด้วยเนื้อหาใหม่ที่ให้ไว้ในเนื้อหาคำขอ‘’

เมื่อใดควรใช้ HTTP PATCH

HTTP PATCH ใช้เพื่อทำการปรับเปลี่ยนบางส่วนกับทรัพยากรที่มีอยู่ เหมาะสำหรับสถานการณ์ที่คุณต้องอัปเดตเพียงส่วนหนึ่งของทรัพยากร ในขณะที่ PUT จะแทนที่ทรัพยากรทั้งหมด

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

HTTP PATCH เหมาะที่สุดเมื่อคุณต้องการอัปเดตฟิลด์เดียวหรือฟิลด์สองสามฟิลด์ในทรัพยากรที่มีอยู่ ตัวอย่างเช่น หากคุณมีโปรไฟล์ผู้ใช้ที่มีหลายฟิลด์ เช่น ชื่อ อีเมล และหมายเลขโทรศัพท์ และคุณต้องการอัปเดตเฉพาะฟิลด์อีเมล คุณจะต้องใช้คำขอ PATCH

นี่คือตัวอย่างวิธีที่คุณอาจใช้คำขอ HTTP PATCH เพื่ออัปเดตที่อยู่อีเมลของผู้ใช้ในระบบ:

PATCH /api/users/123 HTTP/1.1
Host: www.example.com
Content-Type: application/json
If-Match: "e0023aa4e"

{
  "email": "newemail@example.com"
}

ในตัวอย่างนี้ คำขอ PATCH จะถูกส่งไปยังทรัพยากรที่อยู่ที่ /api/users/123 ส่วนหัว Content-Type ระบุว่าเนื้อหาคำขออยู่ในรูปแบบ JSON ส่วนหัว If-Match ใช้เพื่อให้แน่ใจว่าการอัปเดตจะถูกนำไปใช้ก็ต่อเมื่อ eTag (ตัวระบุเวอร์ชันสำหรับทรัพยากร) ตรงกับที่ให้ไว้ เนื้อหาคำขอมี การเปลี่ยนแปลงที่จะนำไปใช้ ซึ่งในกรณีนี้คือการอัปเดตที่อยู่อีเมลของผู้ใช้ จากนั้นเซิร์ฟเวอร์จะประมวลผลคำขอนี้และนำการอัปเดตไปใช้กับข้อมูลของผู้ใช้ หากสำเร็จ เซิร์ฟเวอร์อาจตอบสนองด้วยรหัสสถานะ 200 OK และอาจรวมทรัพยากรที่อัปเดตในเนื้อหาการตอบสนอง

ความแตกต่างระหว่าง HTTP PUT และ PATCH

HTTP PUT และ HTTP PATCH เป็น วิธีการ HTTP ที่ใช้ในการปรับเปลี่ยนทรัพยากร แต่มีความแตกต่างกันในวิธีการอัปเดตทรัพยากร

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

HTTP PATCH ใช้เพื่อทำการปรับเปลี่ยนบางส่วนกับทรัพยากรที่มีอยู่ เหมาะสำหรับสถานการณ์ที่คุณต้องอัปเดตเพียงส่วนหนึ่งของทรัพยากร ในขณะที่ PUT จะแทนที่ทรัพยากรทั้งหมด วิธีการ PATCH มีเอนทิตีที่มีรายการการเปลี่ยนแปลงที่จะนำไปใช้กับทรัพยากรที่ร้องขอโดยใช้ HTTP Uniform Resource Identifier (URI) รายการการเปลี่ยนแปลงจะถูกจัดเตรียมในรูปแบบของเอกสาร PATCH

ความแตกต่างหลักระหว่าง HTTP PUT และ PATCH คือปริมาณข้อมูลที่ส่งในคำขอ PUT ส่งทรัพยากรทั้งหมด ในขณะที่ PATCH ส่งเฉพาะฟิลด์ที่กำลังอัปเดตเท่านั้น ซึ่งหมายความว่าคำขอ PUT มีราคาแพงกว่าในแง่ของแบนด์วิดท์และพลังการประมวลผลมากกว่าคำขอ PATCH

ข้อดีของ HTTP PUT

HTTP PUT เป็นวิธีการร้องขอที่ใช้ในการอัปเดตหรือแทนที่ทรัพยากรที่มีอยู่บนเซิร์ฟเวอร์  ข้อดีบางประการของการใช้ HTTP PUT ได้แก่:

ข้อดีของ HTTP PATCH

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

ข้อดีของการใช้วิธีการ HTTP PATCH ได้แก่:

  1. ประสิทธิภาพ: PATCH ช่วยให้ใช้ทรัพยากรเครือข่ายได้อย่างมีประสิทธิภาพมากขึ้นโดยการส่งเฉพาะการเปลี่ยนแปลงที่จำเป็นต้องทำ ลดปริมาณข้อมูลที่ส่ง
  2. การอัปเดตบางส่วน: PATCH ช่วยให้คุณสามารถอัปเดตส่วนต่างๆ ของทรัพยากรโดยไม่ส่งผลกระทบต่อส่วนที่เหลือของทรัพยากร ทำให้สามารถควบคุมการอัปเดตได้อย่างละเอียด
  3. Idempotent: เมื่อใช้อย่างถูกต้อง คำขอ PATCH จะเป็น idempotent ซึ่งหมายความว่าคำขอที่เหมือนกันหลายรายการจะให้ผลลัพธ์เช่นเดียวกับคำขอเดียว ลดความเสี่ยงของผลข้างเคียงที่ไม่พึงประสงค์

ข้อดีเหล่านี้ทำให้ HTTP PATCH มีประโยชน์อย่างยิ่งสำหรับกรณีการใช้งานเฉพาะที่จำเป็นต้องอัปเดตข้อมูลทรัพยากรเพียงส่วนย่อย

วิธีใช้ Apidog เพื่อส่งคำขอด้วย HTTP PUT และ HTTP PATCH

Apidog เป็นแพลตฟอร์มการทำงานร่วมกันแบบบูรณาการที่ออกแบบมาเพื่อปรับปรุงกระบวนการทำงานกับ API โดยจะรวมคุณสมบัติจากเครื่องมือต่างๆ เช่น Postman, Swagger, Mock และ JMeter เพื่อมอบโซลูชันที่ครอบคลุมสำหรับการสร้างเอกสาร API การแก้ไขข้อบกพร่อง การจำลอง และการทดสอบอัตโนมัติ

button

Apidog ช่วยให้คุณสามารถส่งคำขอ HTTP เพื่อทดสอบและแก้ไขข้อบกพร่อง API ของคุณได้โดยไม่จำเป็นต้องกำหนดใหม่หากมีเอกสารอยู่แล้ว การใช้ Apidog เพื่อส่งคำขอ PUT และ PATCH เกี่ยวข้องกับขั้นตอนสองสามขั้นตอน

ส่งคำขอ HTTP PUT ด้วย Apidog

ในการส่งคำขอ HTTP PUT ด้วย Apidog คุณสามารถทำตามขั้นตอนเหล่านี้:

  1. เปิด Apidog: เริ่มต้นด้วยการเปิด Apidog และสร้างคำขอใหม่

2. ระบุวิธีการ HTTP: เลือก PUT เป็นวิธีการ HTTP สำหรับคำขอของคุณ

3. ป้อน URL: ป้อน URL ของทรัพยากรที่คุณต้องการอัปเดต รวมถึงส่วนหัวที่จำเป็น เช่น Content-Type หรือ Authorization และเพิ่มข้อมูลที่คุณต้องการส่งในเนื้อหาคำขอ คุณสามารถใช้พารามิเตอร์ json เพื่อส่งข้อมูล JSON หรือพารามิเตอร์ data เพื่อส่งข้อมูลที่เข้ารหัสแบบฟอร์ม

4. ส่งคำขอ: เมื่อคุณตั้งค่าคำขอของคุณแล้ว ให้ส่งไปยังเซิร์ฟเวอร์

ตรวจสอบการตอบสนองของเซิร์ฟเวอร์ต่อคำขอ PUT ของคุณและจัดการตามนั้น

ด้วยการใช้ Apidog คุณสามารถรักษาความสอดคล้องของข้อมูลในระบบต่างๆ และตรวจสอบให้แน่ใจว่าการพัฒนา API ของคุณเป็นไปตามเอกสารประกอบ API ของคุณอย่างเคร่งครัด ซึ่งนำไปสู่การทำงานร่วมกันที่มีประสิทธิภาพมากขึ้นและมีความไม่สอดคล้องกันน้อยลง

button

ส่งคำขอ HTTP PATCH ด้วย Apidog

  1. เปิด Apidog: เปิดแอปพลิเคชัน Apidog และเริ่มต้นด้วยการสร้างคำขอใหม่ภายในแอปพลิเคชัน

2. เลือกวิธีการ HTTP: เลือก PATCH จากรายการวิธีการ HTTP

3. ป้อน URL: ป้อน URL ของจุดสิ้นสุดที่คุณต้องการส่งคำขอ PATCH เพิ่มส่วนหัวหากจำเป็น และในเนื้อหาคำขอ ให้ใส่ข้อมูลที่คุณต้องการอัปเดตบางส่วน

ดำเนินการคำขอและรอการตอบสนองจากเซิร์ฟเวอร์

วิเคราะห์การตอบสนองของเซิร์ฟเวอร์เพื่อให้แน่ใจว่าคำขอ PATCH สำเร็จ

button

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำขอ HTTP PUT และ HTTP PATCH

เมื่อทำงานกับวิธีการ HTTP เช่น PUT และ PATCH สิ่งสำคัญคือต้องปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อให้แน่ใจว่า API ของคุณเชื่อถือได้ มีประสิทธิภาพ และใช้งานง่าย นี่คือแนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำขอ PUT และ PATCH:

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำขอ HTTP PUT

แนวทางปฏิบัติที่ดีที่สุดสำหรับการใช้คำขอ HTTP PATCH

แนวทางปฏิบัติที่ดีที่สุดทั่วไปสำหรับการใช้ HTTP PUT และ HTTP PATCH

บทสรุป

โดยสรุป HTTP PUT และ PATCH เป็นคำขอ HTTP ที่สำคัญทั้งคู่ที่ใช้ในการอัปเดตทรัพยากรบนเซิร์ฟเวอร์ PUT เหมาะที่สุดเมื่อคุณต้องการแทนที่ทรัพยากรที่มีอยู่ทั้งหมดด้วยข้อมูลใหม่ ในขณะที่ PATCH เหมาะที่สุดเมื่อคุณต้องการอัปเดตฟิลด์เดียวหรือฟิลด์สองสามฟิลด์ในทรัพยากรที่มีอยู่ คำขอทั้งสองมีข้อดีและข้อเสีย และการเลือกระหว่างนั้นขึ้นอยู่กับกรณีการใช้งานเฉพาะ

ด้วยการใช้ Apidog คุณมีความสามารถในการส่งคำขอ HTTP ของคุณได้อย่างง่ายดายเพื่อทดสอบและแก้ไขข้อบกพร่อง API ของคุณ

button

Explore more

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

เรียนรู้วิธีรัน Mistral Small 3.1 (AI โอเพนซอร์ส) บนเครื่องคุณเองด้วย Ollama คู่มือนี้ง่าย ครอบคลุมการติดตั้ง, การใช้งาน, และเคล็ดลับ

19 March 2025

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

ค้นพบ NDJSON: สตรีมข้อมูลผ่าน HTTP อย่างมีประสิทธิภาพ! คู่มือนี้อธิบายพื้นฐาน, ข้อดีเหนือ JSON, และวิธี Apidog ช่วยทดสอบ/แก้จุดบกพร่อง endpoint สตรีมมิ่ง

18 March 2025

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

ในบทความนี้ เราจะคุยเรื่องนำเข้า/ส่งออก Postman และวิธีแก้ปัญหาที่ยืดหยุ่นกว่า ไม่จำกัดจำนวนครั้ง

18 March 2025

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

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