Chọn theo việc đã làm xong chưa và có body trả về không:
- 201 Created — đã tạo xong resource mới. Kèm header
Locationtrỏ tới URL của resource vừa tạo, body thường là chính resource đó. - 200 OK — xử lý xong và có body ý nghĩa để trả (vd
POST /search, hoặcPOST /orders/1/canceltrả về order sau khi huỷ). - 202 Accepted — server đã nhận yêu cầu nhưng chưa xử lý xong. Dùng cho job chạy nền; body/
Locationnên trỏ tới tài nguyên theo dõi tiến độ. - 204 No Content — thành công và cố ý không có body. Hợp với
DELETEhoặcPUTkhi client không cần dữ liệu trả về.
http
POST /orders
HTTP/1.1 201 Created
Location: /orders/8f21
Content-Type: application/json
{ "id": "8f21", "status": "pending" }Lỗi hay gặp: trả 200 cho mọi thứ rồi nhét {"success": false} vào body.
- Client, proxy và monitoring đều đọc status code — trả sai làm mất khả năng retry tự động và làm sai metric lỗi.
- Ngược lại cũng đừng trả
204kèm body: body sẽ bị bỏ qua.