ความหมาย
คำขอสำเร็จและสร้าง resource ใหม่ header Location มักชี้ไปยัง resource นั้น
สาเหตุที่พบบ่อย
- POST ไปยังคอลเลกชันสร้างระเบียนใหม่
- PUT สร้าง resource ที่ URL ใหม่
วิธีแก้ไข
สำหรับไคลเอนต์หรือผู้เยี่ยมชม
อ่าน header Location เพื่อหา URL ของ resource ใหม่ หรือใช้ body ที่ส่งกลับหาก API แนบอ็อบเจกต์ที่สร้างมาด้วย
สำหรับผู้ดูแลเว็บไซต์หรือ API
ใส่ Location พร้อม URL ใหม่ และควรแนบตัวแทนข้อมูลที่สร้างด้วย อย่าคืน 201 เมื่อไม่ได้สร้างอะไร การลองซ้ำแบบ idempotent ที่พบรายการเดิมอยู่แล้วสามารถคืน 200 หรือ 409 ได้
ตัวอย่างการตอบกลับ
HTTP/1.1
HTTP/1.1 201 Created
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: /users/42
Content-Type: application/json
{
"id": 42,
"name": "Ada"
} ข้อกำหนด
คำถามที่พบบ่อย
› header Location จำเป็นกับ 201 หรือไม่
แนะนำอย่างยิ่ง หากไม่มี ไคลเอนต์ต้องเดา URL ใหม่จาก body
› 201 กับ 202 ต่างกันอย่างไร
201 หมายถึง resource มีอยู่แล้วตอนนี้ 202 หมายถึงรับคำขอแล้วและจะประมวลผลภายหลัง