Ý nghĩa
Yêu cầu thành công và đã tạo một tài nguyên mới. Header Location thường trỏ tới nó.
Nguyên nhân thường gặp
- POST vào một collection đã tạo bản ghi
- PUT đã tạo tài nguyên tại URL mới
Cách khắc phục
Nếu bạn là máy khách hoặc người truy cập
Đọc header Location để lấy URL của tài nguyên mới, hoặc dùng phần thân trả về nếu API kèm đối tượng vừa tạo.
Nếu bạn quản lý trang web hoặc API
Kèm Location với URL mới và tốt nhất là cả biểu diễn vừa tạo. Đừng trả 201 khi không tạo gì; các lần thử lại idempotent tìm thấy mục có sẵn có thể trả 200 hoặc 409.
Phản hồi mẫu
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"
} Đặc tả
Câu hỏi thường gặp
› Header Location có bắt buộc với 201 không?
Rất nên có. Không có nó, client phải đoán URL mới từ phần thân.
› 201 khác 202 thế nào?
201 nghĩa là tài nguyên đã tồn tại ngay bây giờ. 202 nghĩa là yêu cầu đã được nhận và sẽ xử lý sau.