상세 컨텐츠

본문 제목

[네트워크] HTTP 상태코드

카테고리 없음

by 정성윤TV 2025. 3. 30. 16:14

본문

1. HTTP 상태 코드

서버는 클라이언트의 요청을 처리한 후, 그 결과를 숫자 코드로 알려준다.
이 숫자가 바로 HTTP 상태 코드(Status Code)이다.

상태 코드는 세 자리 숫자로 구성되며, 첫 번째 숫자에 따라 응답의 성격이 분류된다.

 

1-1. 상태 코드 분류 요약

범위분류명의미
1xx 정보(Informational) 요청을 받았으며, 계속 처리 중
2xx 성공(Success) 요청이 정상적으로 처리됨
3xx 리다이렉션(Redirection) 추가 작업 필요 (다른 위치로 이동 등)
4xx 클라이언트 오류(Client Error) 클라이언트의 잘못된 요청
5xx 서버 오류(Server Error) 서버 측의 문제로 요청 처리 실패

 

1-2. 1xx (정보 응답)

지금은 사용을 거의 안 한다고 함.
100 Continue 계속 진행하라는 의미 클라이언트가 요청을 계속 보내도 됨

 

1-3. 2xx (성공 응답)


200 OK 성공 요청이 성공적으로 처리됨
201 Created 생성됨 POST 요청 등으로 리소스가 새로 생성됨
204 No Content 내용 없음 응답 바디 없이 성공 (삭제 등에서 사용)

1-4. 3xx (리다이렉션)

영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동
• 예) /members -> /users
• 예) /event -> /new-event

 

일시 리다이렉션 - 일시적인 변경
• 주문 완료 후 주문 내역 화면으로 이동
• PRG: Post/Redirect/Ge

웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동
(리다이렉트)
301 Moved Permanently 영구 이동 요청한 자원이 새 위치로 영구 이동
302 Found 임시 이동 자원이 임시로 다른 위치로 이동됨 (원래 위치 유지)
304 Not Modified 변경 없음 캐시된 자원 사용 가능, 서버 자원 변경 없음

영구 리다이렉션

- PRG: Post/Redirect/Get

POST로 주문후에 웹 브라우저를 새로고침하면?
• 새로고침은 다시 요청
• 중복 주문이 될 수 있다

• 그래서 PRG를 사용하면 중복주문X

일시 리다이렉션

그래서 뭐써야함? 

자동 리다이렉션시에 GET으로 변해도 되면 그냥 302를 사용해도 큰 문제 없음.

1-5. 4xx (클라이언트 오류)


400 Bad Request 잘못된 요청 문법 오류 또는 파라미터 오류
401 Unauthorized 인증 필요 로그인이 필요함 (인증 안 됨)
403 Forbidden 금지됨 서버가 요청을 거부 (권한 없음)
404 Not Found 찾을 수 없음 요청한 리소스가 존재하지 않음

 

1-6. 5xx (서버 오류)

코드의미설명
500 Internal Server Error 내부 서버 오류 서버의 예기치 못한 오류
502 Bad Gateway 잘못된 게이트웨이 게이트웨이/프록시 서버가 잘못된 응답을 수신
503 Service Unavailable 서비스 이용 불가 서버가 과부하 또는 점검 중으로 응답 불가

 

1-7. 상태 코드 핵심 요약~~

  • 2xx: 요청 성공 → 클라이언트 입장에서 "정상 처리됨"
  • 4xx: 클라이언트 문제 → 요청 URL, 파라미터, 인증 등 오류
  • 5xx: 서버 문제 → 서버 자체에서 오류 발생