상태 코드 정리

devswansong·2025년 9월 12일

200 : OK : 요청 성공 (GET)
201 : Created : 생성 성공 (POST)
202 : Accepted : 요청 접수 O, 리소스 처리 X
204 : No Contents : 요청 성공 O, 내용 없음


300 : 리다이렉트
300 : Multiple Choice : 요청 URI에 여러 리소스 존재
301 : Move Permanently : 요청 URI가 새 위치로 옮겨감
304 : Not Modified : 요청 URI의 내용이 변경 X


400번대 : 클라 오류
400 : Bad Request : API에서 정의되지 않은 요청 들어옴
401 : Unauthorized : 인증 오류
403 : Forbidden : 권한 밖 접근 시도
404 : Not Found : 요청 URI에 대한 리소스 존재 X
405 : Method Not Allowed : API에서 정의되지 않은 메소드 호출
406 : Not Acceptable : 처리 불가
(구체적으로 무엇이 불가한지 몰라 예시 추가)

  1. Accept 헤더 불일치

  GET /api/users HTTP/1.1
  Accept: application/xml

  → 서버는 JSON만 지원하는 경우
  HTTP/1.1 406 Not Acceptable

  2. Accept-Language 불일치

  GET /content HTTP/1.1
  Accept-Language: ko-KR

  → 서버는 영어만 지원하는 경우
  HTTP/1.1 406 Not Acceptable

  3. Accept-Encoding 불일치

  GET /file HTTP/1.1
  Accept-Encoding: br

  → 서버는 gzip만 지원하는 경우
  HTTP/1.1 406 Not Acceptable

  4. Accept-Charset 불일치

  GET /data HTTP/1.1
  Accept-Charset: iso-8859-1

  → 서버는 UTF-8만 지원하는 경우
  HTTP/1.1 406 Not Acceptable

  실제 예시

  GET /api/users HTTP/1.1
  Accept: text/plain

  → API가 JSON/XML만 제공
  HTTP/1.1 406 Not Acceptable
  Content-Type: application/json

  {
    "error": "Available formats: application/json, application/xml"
  }

  요약: 클라이언트가 요청한 형식을 서버가 제공할 수 없을 때 406을 응답합니다.

기대 응답을 못할때
408 : Request Timeout : 요청 대기 시간 초과
409 : Conflict : 모순
429 : Too Many Request : 요청 횟수 상한 초과


500 : 서버 오류
500 : Internal Server Error : 서버 내부 오류
502 : Bad Gateway : 게이트웨이 오류
503 : Service Unavailable : 서비스 이용 불가
504 : Gateway Timeout : 게이트웨이 시간 초과


profile
unagi.zoso == ziggy stardust == devswansong

0개의 댓글