Ý nghĩa
Máy chủ từ chối yêu cầu vì kiểu dữ liệu (Content-Type) hoặc mã hóa của phần thân không được hỗ trợ.
Nguyên nhân thường gặp
- Gửi JSON mà không có Content-Type: application/json
- Gửi thân dạng form tới API chỉ nhận JSON
- Content-Encoding không được hỗ trợ như brotli khi tải lên
Cách khắc phục
Nếu bạn là máy khách hoặc người truy cập
Đặt đúng header Content-Type cho phần thân bạn gửi và tuân theo định dạng trong tài liệu API.
Nếu bạn quản lý trang web hoặc API
Liệt kê các kiểu chấp nhận trong Accept-Post hoặc Accept-Patch và đưa thông báo rõ ràng.
Phản hồi mẫu
HTTP/1.1
HTTP/1.1 415 Unsupported Media Type
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Accept-Post: application/json
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unsupported Media Type",
"status": 415,
"detail": "Send the body as application/json."
} Đặc tả
Câu hỏi thường gặp
› Vì sao fetch() nhận 415 với thân JSON?
fetch gửi text/plain cho thân dạng chuỗi trừ khi bạn đặt headers: {'Content-Type': 'application/json'}.
› 415 hay 400?
415 cụ thể là sai kiểu phần thân; 400 là yêu cầu sai định dạng nói chung.