[HTTP] HTTP Status란?

Yujeong·2023년 12월 12일
0
post-thumbnail

모든 개발자를 위한 HTTP 웹 기본 지식 강의 수강 후, 정리한 글입니다.

목차

  1. HTTP 상태 코드란?
  2. HTTP 상태 코드

1. HTTP 상태 코드란?

HTTP 상태 코드(status code)는 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다.

2. HTTP 상태 코드

1) 1xx: 정보 제공(Informational)

  • 요청이 수신되어 처리 중.

2) 2xx: 성공(Successful)

  • 요청 정상 처리

3) 3xx: 리다이렉션(Redirection)

  • 요청을 완료하려면 유저 에이전트의 추가 행동이 필요
  • 웹 브라우저는 3xx 응답의 결과에 Location 헤더가 있으면, Location 위치로 자동 이동
  • 종류
    ✔️ 영구 리다이렉션: 특정 리소스의 URI가 영구적으로 이동
    예) /members/users, /event/new-event
    ✔️ 일시 리다이렉션: 일시적인 변경
    예) 주문완료 후 주문 내역 화면으로 이동(POST로 2번 요청하면, 중복 주문될 수 있다.), PRG 패턴(Post, Redirect, Get)
    ✔️ 특수 리다이렉션: 결과 대신 캐시 사용

4) 4xx: 클라이언트 에러(Client Error)

  • 잘못된 문법 등으로 서버가 요청을 실행할 수 없음
  • 서버에서 철저히 예외처리를 해서 서버 문제가 아닌, 클라이언트의 문제라는 것을 알려줘야 함. 그렇지 않으면, 클라이언트는 500 에러를 보고 서버의 문제라고 생각할 수 있음
    예) 요청 파라미터가 잘못 되었거나, API 스펙이 맞지 않을 경우

5) 5xx: 서버 에러(Server Error)

  • 서버가 정상 요청을 처리하지 못함
  • 서버에 문제가 있기 때문에 재시도하면 성공할 수도 있음(복구 등)
  • 웬만하면 500번대 에러를 만들지 않는 게 좋음
    예) 20세 이상 신청 가능할 떄, 20세 미만인 사람이 신청할 경우에는 500에러를 내면 안되고 400에러를 내야 함

🗒️ [HTTP] HTTP 상태 코드 정리 표

profile
공부 기록

0개의 댓글