HTTP - 상태코드

1xx (Informational): 요청이 수신되어 처리중

2xx (Successful): 요청 정상 처리

200 OK

201 Created

202 Accepted

204 No Content

3xx (Redirection): 요청을 완료하려면 추가 행동이 필요

300 Multiple Choices

301 Moved Permanently

302 Found

303 See Other

304 Not Modified - 캐시를 목적으로 사용. 리소스가 수정되지 않았음을 알려줌

307 Temporary Redirect

308 Permanent Redirect

자동 리다이렉션

301 Moved Permanently - POST로 받고 GET으로 리다이렉션, 본문이 제거될 수 있음

308 Permanent Redirect - POST로 받고 경로만 바꿔서 POST로 리다이렉션, 본문유지

일시적 리다이렉션 (PRG: Post/Redirect/Get)

302 Found - 리다이렉트시 요청 메서드가 GET으로 변하거나, 본문이 제거될 수 있음

307 Temporary Redirect - 302와 기능은 같고, 리다이렉트시 요청 메서드와 본문 유지 (요청메서드 변경하면 안된다.)

303 See Other - 302와 기능은 같고, 리다이렉트시 요청 메서드가 GET으로 변경

 

예시)

POST로 주문후에 웹 브라우저를 새로고침하면?

새로고침은 다시 요청

중복 주문이 될 수 있다.

4xx (Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음

  • 요청구문, 메세지 등등 오류
  • 클라이언트는 요청 내용을 다시 검토하고, 보내야함

401 Unauthorized - 클라이언트가 해당 리소스에 대한 인증이 필요함

인증되지 않음

오류 발생시 응답에 WWW-Ahthenticate 헤더와 함께 인증 방법을 설명

  • 인증(Authentication): 본인이 누구인지 확인 (로그인)
  • 인가(Authorization): 권한 부여 (ADMIN처럼 특정 리소스에 접근할 수 있는 권한. 인증이 있어야 인가가 있음)
  • 오류 메세지가 Unauthorized이지만 인증되지 않음 (이름이 아쉬움)

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

  • 인증자격 증명은 있지만, 접근 권한이 불충분한 경우
  • ex) admin등급이 아닌 사용자가 로그인은 했지만, admin 등급의 리소스에 접근하는 경우

404 Not Found - 요청 리소스를 찾을 수 없음

  • 요청 리소스가 서버에 없음
  • 또는 클라이언트가 권한이 부족한 리소스에 접근할 때, 해당 리소스를 숨기고 싶은 경우

5xx (Server Error): 서버 오류, 서버가 정상 요청을 처리하지 못함

  • 서버문제로 오류 발생
  • 서버에 문제가 있기 때문에 재시도하면 성공할 수도 있음 (ex)복구되었을때)

500 Internal Server Error - 서버 문제로 오류 발생, 애매하면 500으로 돌리자.

503 Service Unavailable - 서비스 이용 불가

  • 서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리할 수 없음

 

 


참고 강의 : https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC

'Back-End > HTTP' 카테고리의 다른 글

HTTP - 일반 헤더  (0) 2023.03.24
HTTP - 메서드 활용  (0) 2023.03.17
HTTP - 메서드  (0) 2023.03.15
HTTP 기본  (0) 2023.03.14
HTTP - URL 및 웹브라우저 요청 흐름  (0) 2023.03.14