상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능
1_1xx (Informational) : 요청이 수신되어 처리중
2_2xx (Successful) : 요청 정상 처리
- 200 ok 요청 성공
- 201 created 요청 성공해서 새로운 리소스가 생성
- 202 accepted 요청이 접수되었으나 처리가 완료되지 않았음
- 204 no content 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음
예) 웹 문서 편집기에서 save 버튼
save결과로 아무 내용이 없어도 된다.
save 눌러도 같은 화면을 유지해야 한다.
3_3xx (Redirection) : 요청을 완료하려면 유저 에이전트의 추가 행동이 필요
- 영구 리다이렉션
특정 리소스의 URI가 영구적으로 이동
원래의 URL를 사용 X, 검색 엔진 등에서도 변경 인지
301(Moved Permanently) : 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음
308(Permanent Redirect) : 리다이렉트시 요청 메서드와 본문 유지
- 일시 리다이렉션 : 일시적인 변경
리소스 URI가 일시적으로 변경
따라서 검색 엔진 등에서 URL을 변경하면 안됨
302(Found) : 리다이렉트시 요청 메서드가 GET으로 변하고, 본문이 제거될 수 있음
307(Temporary Redirect) : 리다이렉트시 요청 메서드와 본문 유지(요청 메서드를 변경하면 안된다.)
303(See Other) : 리다이렉트시 요청 메서드가 GET으로 변경
- 특수 리다이렉션 : 결과 대신 캐시를 사용
304(Not Modified) : 캐시를 목적으로 사용, 클라이언트에게 리소스가 수정되지 않았음을 알려준다.
따라서 클라이언트는 로컬 PC에 저장된 캐시를 재사용한다.(캐시로 리다이렉트한다.)
304응답은 응답에 메시지 바디를 포함하면 안된다.(로컬 캐시를 사용해야 하므로)
조건부 GET, HEAD요청시 사용
4_4xx (Client Error) : 클라이언트 오류, 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
400(Bad Request) : 요청 구문, 메시지 등 오류, 검토 후 재전송 해야함. (파라미터 오류, API스펙이 맞지 않을 때)
401(Unauthorized) : 인증되지 않음, 응답에 WWW-Authenicate 헤더와 함께 인증 방법 설명
인증(Authentication) : 본인이 누구인지 확인(로그인)
인가(Authorization) : 권한부여 (ADMIN 권한처럼 특정 리소스에 접근할 수 있는 권한, 인증이 있어야 인가가 있음)
오류 메시지가 Unauthorized이지만 인증 되지 않음
403(Forbidden) : 서버가 요청을 이해했지만 승인을 거부, 인증(로그인)O but 권한 불충분
404(Not Found) : 요청 리소스를 찾을 수 없음
5_5xx (Server Error) : 서버 오류, 서버가 정상 요청을 처리하지 못함
500(Internal Server Error) : 서버 내부 문제, 애매하면 500
503(Service Unavailable) : 서비스 이용 불가, 일시적인 과부하 또는 예정된 작업으로 잠시 요청 처리 불가
'http' 카테고리의 다른 글
[HTTP]#9 HTTP 헤더 - 전송 방식, 일반 정보, 특별 정보 (2) | 2023.12.07 |
---|---|
[HTTP]#8 HTTP 헤더 - 일반 헤더 (1) | 2023.12.07 |
[HTTP]#6 HTTP API 설계 예시 (1) | 2023.12.06 |
[HTTP]#5 HTTP 메소드 활용 (1) | 2023.12.06 |
[HTTP]#4 HTTP 메소드 (1) | 2023.12.06 |