의미
서버가 클라이언트의 Accept 헤더가 허용하는 어떤 형식으로도 응답을 만들 수 없습니다.
흔한 원인
- Accept가 API가 지원하지 않는 타입(예: application/xml)을 요구함
- 지나치게 엄격한 Accept-Language나 Accept-Encoding
- 보안 모듈이 특이한 Accept 헤더를 거부함
해결 방법
클라이언트 또는 방문자라면
Accept: application/json이나 */*를 보내거나, 지나치게 엄격한 Accept-* 헤더를 제거하세요.
사이트나 API 운영자라면
가능하면 406 대신 기본 표현으로 대체하고, 사용 가능한 타입을 본문에 나열하세요.
응답 예시
HTTP/1.1
HTTP/1.1 406 Not Acceptable
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Not Acceptable",
"status": 406,
"detail": "Available representations: application/json."
} 명세
자주 묻는 질문
› 406과 415의 차이는?
406은 클라이언트가 받고 싶은 것(Accept), 415는 클라이언트가 보낸 것(Content-Type)에 관한 것입니다.
› mod_security가 406을 반환하는 이유는?
일부 규칙 세트가 406을 범용 차단 상태로 사용합니다. WAF 로그를 확인하세요.