DevToolPal
ไทย
2xx สำเร็จ

207 Multi-Status

หลายสถานะ

ความหมาย

การตอบกลับของ WebDAV ที่ body XML มีสถานะแยกสำหรับแต่ละ resource ที่ได้รับผลจากคำขอเดียว

สาเหตุที่พบบ่อย

  • PROPFIND แสดงรายการในโฟลเดอร์
  • COPY, MOVE หรือ DELETE แบบ batch ที่แต่ละรายการให้ผลต่างกัน

วิธีแก้ไข

สำหรับไคลเอนต์หรือผู้เยี่ยมชม

parse ทุกอิลิเมนต์ <response> บางรายการอาจล้มเหลวแม้สถานะรวมจะเป็น 207

สำหรับผู้ดูแลเว็บไซต์หรือ API

ใช้ 207 เฉพาะกับ WebDAV หรือ API แบบ batch ที่มีเอกสารชัดเจน และรายงานสถานะของแต่ละ resource

ตัวอย่างการตอบกลับ

HTTP/1.1
HTTP/1.1 207 Multi-Status
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/xml; charset=utf-8

<?xml version="1.0" encoding="utf-8"?>
<d:multistatus xmlns:d="DAV:">
  <d:response>
    <d:href>/files/report.pdf</d:href>
    <d:status>HTTP/1.1 200 OK</d:status>
  </d:response>
</d:multistatus>

ข้อกำหนด

RFC 4918 §11.1

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

› 207 คือสำเร็จหรือล้มเหลว

ตัวมันเองไม่ใช่ทั้งสองอย่าง หมายถึง "ดูใน body" แต่ละรายการมีสถานะของตัวเอง

› REST API ควรใช้ 207 ไหม

API แบบ batch บางตัวใช้ แต่หลายตัวนิยม 200 พร้อมอาร์เรย์ผลลัพธ์รายรายการ ซึ่งง่ายกว่าสำหรับไคลเอนต์ JSON