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 위치로 자동 이동
리다이렉션의 종류
- 영구 리다이렉션 - 특정 리소스의 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
반응형