ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • HTTP 상태 코드
    HTTP 2021. 12. 1. 01:42

    2xx(Successful)

    • 200 OK
    • 201 Created
      • 요청에 성공하여 새로운 리소스가 생성
    • 202 Accepted
      • 요청이 접수되었으나 처리가 완료되지 않음
      • 배치 처리 같은 곳에서 사용
      • 예) 요청 접수 후 1시간 뒤에 배치 프로세스가 요청을 처리
    • 204 No Content
      • 서버가 요청을 성공적으로 수행했지만, 응답 페이로드 본문에 보낼 데이터가 없음
      • 문서 편집기에서 아무 내용도 입력하지 않았지만 save가 가능한 경우
        • 성공을 인식하기 위해 사용

    3xx(Redirection)

    • 302 Found
      • 리다이렉트시 요청 메서드가 GET으로 변환, 본문(메시지 바디)이 제거될 수 있음(아마도)
    • 307 Temporary Redirect
      • 302와 기능은 같음
      • HTTP 메서드와 본문 유지
      • HTTP 메서드와 메시지 바디를 유지해야할 때 사용
    • 304 See Other
      • HTTP 메서드를 GET으로 확실하게 변경

    PRG(Post/Redirect/Get)

    • 302 또는 304를 이용해 중복 상품주문을 방지

    304 Not Modified

    • 캐시를 목적으로 사용
    • 요청하는 정보가 이미 디스크(로컬PC)에 저장되어있을 경우(캐시되어있을 경우) 브라우저는 요청받은 데이터가 변경되었는지 확인하고 변경되지 않았다면 응답 코드로 304를 리턴한다. 즉, 데이터가 변경되었다면 변경된 데이터를 응답으로 보내게 된다.

    4xx (Client Error)

    • 400 Bad Request
      • 클라이언트의 잘못된 요청으로 인한 에러
      • 요청 구문, 메시지 등등의 오류
      • ex) 요청 파라미터가 잘못되었거나, API 스펙이 맞지 않을 때
    • 401 Unauthorized
      • 클라이언트가 해당 리소스에 대한 인증이 필요함
      • 인증되지 않은 경우(로그인 되지 않은 경우) 에러
    • 403 Forbidden
      • 인증 자격은 있지만 인가 받지 못한 경우
    • 404 Not Found
      • 요청 리소스를 찾을 수 없음
      • 또는 권한이 부족한(인가 받지 않은) 사용자가 리소스에 접근할 때, 해당 리소스를 숨기고 싶을 때

    5xx (Server Error)

    • 서버 문제로 오류 발생
    • 서버의 문제기 때문에 재시도 하면 성공할 수 있음(복구가 되거나 등등)
    • 500 Internal Server Error
      • 서버 내부 문제로 오류 발생
      • 애매하면 500 오류
      • 웬만하면 500 에러로 처리하지 않고, 4xx 에러로 처리하는게 좋음

    'HTTP' 카테고리의 다른 글

    HTTP 헤더2 - 캐시와 조건부 요청  (0) 2021.12.07
    HTTP 헤더 - 일반 헤더  (0) 2021.12.01
    HTTP 메서드  (0) 2021.11.28
    HTTP API  (0) 2021.11.27
    HTTP 특징  (0) 2021.11.26
Designed by Tistory.