Spring

HTTP 상태 코드

스파이더웹 2022. 8. 12. 12:52
728x90
반응형

상태 코드란?

클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

  • 1xx : 요청이 처리되어 수신중
  • 2xx : 요청 정상 처리
  • 3xx: 요청을 완료하려면 추가 행동이 필요
  • 4xx: 클라이언트 오류
  • 5xx: 서버 오류

 

2xx (Success)

클라이언트의 요청을 성공

 

200 OK

  • 요청 성공

 

201 Created

  • 요청 성공해서 새로운 리소스가 생성됨

202 Accepted

  • 요청이 접수되었으나 처리가 완료되지 않음

 

204 No Content

  • 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음

 

3xx (Redirection)

  • 요청을 완료하기 위해 유저의 추가 조치가 필요

 

리다이렉션이란? 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면 Location 위치로 자동 이동

모든 개발자를 위한 http 기본

리다이렉션의 종류

  • 영구 리다이렉션 - 특정 리소스의 URI가 영구적으로 이동
  • 일시 리다이렉션 - 일시적인 변경
  • 특수 리다이렉션 - 결과 대신 캐시를 사용

 

영구 리다이렉션

리소스의 URI가 영구적으로 이동 , 원래의 URL은 사용이 불가

  • 301 Moved Permanently - 리다이렉트시 요청메서드가 GET으로 변하고 본문이 제거될 수 있음(Post로 요청했지만 GET으로 바뀜)
  • 308 Permanent Redirect - 301과 기능은 같으나 리다이렉트 요청시 메서드와 본문 유지(처음 POST를 보내면 리다이렉트도 POST 유지)

 

일시적 리다이렉션

리소스의 URI가 일시적으로 변경

  • 302 Found - 리다이렉트시 요청 메서드가 GET으로 변하고 본문이 제거될 수 있음
  • 307 Tempory Redirect - 302와 기능은 같으나 리다이렉트시 요청메서드와 본문 유지(요청메서드를 변경하면 안된다)
  • 303 See Other - 302와 기능은 같으나 리다이렉트시 요청 메서드가 GET으로 변경

 

PRG : Post /Redirect /Get

일시적인 리다이렉션

 

POST 요청 후 해당 결과를 GET 메서드로 리다이렉트 그러므로 새로고침하면 POST요청이 다시 발생되는 것이 ㅏㅇ닌 GET 사용이 새로고침됨

 

 

4xx(Client Error)

오류의 원인이 클라이언트에 있음

 

400 Bad Request

  • 클라이언트가 잘못된 요청을 해서 서버가 요청을 처리할수 없음

401 Unauthorized

  • 클라이언트가 해당 리소스에 대한 인증이 필요함
  • 인증이 되지 않음

403 Forbidden

  • 서버가 요청을 이해했지만 승인을 거부함

404 Not Found

  • 요청 리소스가 서버에 없음

 

5xx (Server Error)

서버 오류

500 Internal Server Error

  • 서버문제로 오류발생

503 Service Unavailable

  • 서비스 이용불가
728x90
반응형