자주 자용되는 코드들만 정리
Http Status Code
Http 상태 코드는 Http 요청이 성공적으로 완료되었는지 여부를 나타낸다.
클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능!
상태 코드는 다섯 가지로 분류할 수 있다.
- 1xx (Informational)
- 2xx (Successful)
- 3xx (Redirection)
- 4xx (Client Error)
- 5xx (Server Error)
1xx
요청이 수신되어 처리 중. 거의 사용하지 않음
2xx - 성공
클라이언트의 요청을 성공적으로 처리했을 때 사용
200 OK
201 Created
: 요청이 성공해 그 결과 새로운 리소스가 생성됨. 일반적으로POST
혹은PUT
요청 후 발생하는 응답202 Accepted
: 요청이 접수되었으나, 처리가 완료되지 않음204 No Content
: 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음 ex) 요청에 대한 결과로 내용은 보낼 필요가 없고, 성공의 결과만 보내주면 될 때.
3xx
요청을 완료하기 위해 유저 에이전트(web browser)의 추가 조치가 필요할 때 사용
300 Multiple Choices
: 거의 사용하지 않음301 Moved Permanently
: 요청된 리소스의 URL이 영구적으로 변경되었을 때. 새 URL을 제공. 리다이렉트 시 메서드가GET
으로 변하고, 본문이 제거될 수도 있음302 Found
: 요청된 리소스의 URI가 일시적으로 변경되었음을 의미303 See Other
: 리다이렉트시 요청 메서드가GET
으로 변경304 Not Modified
: 캐싱 목적으로 사용. 클라이언트에게 응답이 수정되지 않았음을 알려줌 -> 클라이언트는 가지고있는 캐시를 사용307 Temporary Redirect
: 리다이렉트시 요청 메서드와 본문을 유지함308 Permanent Redirect
: 리다이렉트시 요청 메서드와 본문을 유지..
Redirection
웹 브라우저는 3xx 응답의 결과에 Location
헤더가 있으면, 해당 위치로 자동 이동(리다이렉트)한다.
- 영구 리다이렉션 : 특정 리소스의 URI가 영구적으로 이동
- 일시 리다이렉션 : 일시적인 변경 ex) 주문 완료 후 주문 내역 화면으로 이동
- 특수 리다이렉션 : 결과 대신 캐시를 사용 주로
304
응답
4xx - Client Error
클라이언트의 요청에 잘못된 문법 등으로 인해 서버가 요청을 수행할 수 없는 경우. 오류의 원인이 클라이언트에게 있는 경우
400 Bad Request
: 요청 구문, 메시지 등등 오류. 클라이언트는 요청 내용 재검토 후 재요청해야함401 Unauthorized
: 인증되지 않음. 클라이언트는 자신을 인증해야 함403 Forbidden
: 클라이언트가 콘텐츠에 대한 엑세스 권한이 없을. 클라이언트는 인증된 상태404 Not Found
: 서버가 요청된 리소스를 찾을 수 없음.403
대신404
응답을 보내 리소스 자체의 존재를 숨기는 경우도 있음
5xx - Server Error
500 Internal Server Error
: 서버 내부 문제로 오류 발생. 애매하면 500503 Service Unavailable
: 서비스 이용 불가. 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음
'STUDY > TIL' 카테고리의 다른 글
Mock, TestDouble (0) | 2021.06.22 |
---|---|
JWT를 어디에 저장할까 (0) | 2021.05.26 |
REST URI 설계 (0) | 2021.05.04 |
Spring WebFlux (0) | 2021.04.29 |
URI와 URL (0) | 2021.04.28 |