DevToolPal
한국어
4xx 클라이언트 오류

409 Conflict

충돌

의미

요청이 리소스의 현재 상태와 충돌합니다. 중복이나 동시 편집 등이 있습니다.

흔한 원인

  • 이미 있는 레코드를 생성함(고유한 이메일이나 이름)
  • 다른 사람이 바꾼 리소스를 편집함
  • git과 비슷한 버전이나 상태 충돌

해결 방법

클라이언트 또는 방문자라면

최신 상태를 가져와 충돌을 해결하거나 다른 값을 고른 뒤 재시도하세요.

사이트나 API 운영자라면

무엇이 충돌하는지 본문에서 설명하세요. ETag를 이용한 낙관적 잠금에는 412가 더 정확합니다.

응답 예시

HTTP/1.1
HTTP/1.1 409 Conflict
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Conflict",
  "status": 409,
  "detail": "A user with this email already exists."
}

명세

RFC 9110 §15.5.10

자주 묻는 질문

› 중복 이메일에는 409와 422 중 무엇을?

둘 다 쓰입니다. 기존 데이터와의 충돌이면 409, 검증 프레임워크라면 422가 어울립니다. 일관성을 지키세요.

› 클라이언트가 409를 자동 재시도해야 하나요?

아니요. 충돌은 보통 판단이 필요합니다. 먼저 데이터를 새로 고치세요.