상태 코드 : 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능
1xx (Informational): 요청이 수신되어 처리 중
2xx (Successful): 요청 정상 처리
3xx (Redirection): 요청을 완료하기 위해 추가 작업 필요
4xx (Client Error): 클라이언트 오류, 잘못된 방식의 요청
5xx(Sever Error): 서버 오류, 서버가 요청을 처리하지 못함
2xx
200 OK: 요청 성공
201 Created : 요청에 의해 새로운 리소스 생성
202 Accepted: 요청 접수, 처리는 완료되지 않음
204 No Content: 요청을 수행했지만, 본문에 보낼 데이터가 없음
3xx
웹 브라우저가 3xx 응답 결과에 Location 헤더가 있으면, 그 위치로 자동 이동한다!
- 영구 리다이렉션 : 특정 리소스의 URI가 영구적으로 이동
301, 308
- 일시 리다이렉션 : 일시적인 변경
302, 307, 303
- 특수 리다이렉션 : 결과 대신 캐시를 사용
영구 리다이렉션 301, 308
- 301 Move Permanently : 리다이렉트시 메서드가 GET으로 변하고, 본문이 제거될 수 있음
- 308 Permanent Redirect : 리다이렉트시 메서드와 본문을 요청에서 준 것으로 유지
일시 리다이렉션 302, 307, 303
- 302 Found : 리다이렉트시 메서드가 GET 으로 변하고, 본문이 제거될 수 있음
- 307 Temporary Redirection : 리다이렉트시 메서드와 본문을 요청에서 준 것으로 유지
- 303 See Other : 리다이렉트시 메서드가 GET 으로 변경
활용 방법: 주문 후 새로고침을 하면 POST 함수가 1번 이상 호출되어서 중복 주문이 발생할 수 있음
주문 완료 응답을 302로 보내면 화면이 자동 리다이렉트 되고, 새로고침을 해도 GET 함수가 호출돼서 중복 주문 방지 가능.
300 Multiple Choices : 안 쓴다..
304 Not Modified : 캐시를 목적으로 사용. 클라이언트에게 로컬 PC에 저장된 캐시를 재사용하라고 알려줌! (따라서 메시지 바디 X)\
조건부 GET, HEAD 요청 시 사용
4xx
클라이언트의 요청에 잘못된 문법 등으로 서버가 요청을 수행할 수 없음
401 Unauthorized : 인증되지 않음
403 Forbidden : 인증 자격은 있지만, 접근 권한이 없음
404 Not Found : 요청 리소스가 서버에 없음 or 리소스를 숨기고 싶을 때
5xx
서버 문제로 오류 발생
500 Internal Server Error : 서버 내부 오류. 애매하면 500 오류로!
503 Service Unavilable : 일시적인 과부하 또는 예정된 작업으로 처리 불가능.
'코딩 > 네트워크' 카테고리의 다른 글
| [HTTP] HTTP 헤더 (0) | 2023.05.28 |
|---|---|
| [HTTP] 쿠키 & 캐시 (0) | 2023.05.27 |
| [HTTP] 클라이언트에서 서버로 데이터 전송하기 (0) | 2023.05.25 |
| [HTTP] HTTP 메세지 & API URI 설계 방법 (0) | 2023.05.24 |
| [HTTP] 인터넷 통신의 원리 및 방법 (TCP/IP, Port, HTTP, URI) (1) | 2023.05.20 |