HTTP 상태코드

2023. 4. 17. 21:45·CS

클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능

  • 1xx(informational): 요청이 수신되어 처리중
  • 2xx(Successful): 요청 정상 처리
  • 3xx(Redirection): 요청을 완료하려면 추가 행동이 필요
  • 4xx(Client Error): 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음
  • 5xx(Server Error): 서버오류, 서버가 정상 요청을 처리하지 못함

2xx

클라이언트의 요청을 성공적으로 처리

  • 200 OK
  • 201 Created
    post 요청을 해서 서버에서 자원을 새로 생성하는 경우
    응답헤더에 Location정보가 들어있을 수 있다.
  • 202 Accepted
    요청 접수가 되었으나 처리가 완료되지 않았다.
    배치 처리 같은 곳에서 사용한다.
  • 204 No Content
    서버가 요청을 성공적으로 했지만, 응답 페이로드 본문에 보낼 데이터가 없는경우
    Ex) 웹 문서 편집기에서 save버튼

3xx 리다이렉션

요청을 완료하기 위해 유저 에이전트의 추가 조치 필요

  • 300 Multiple Choices
  • 301 Moved Permanently
    Url 변경되었을 때
  • 302 Found
  • 303 See Other
  • 304 Not Modified
  • 307 Temporary Redirect
  • 308 Permanent Redirect

리다이렉션이란?

웹 브라우저는 3xx응답의 결과에 Location 헤더가 있으면, Location위치로 자동 이동(redirect)

리다이렉션 종류

  • 영구 리다이렉션
    특정 리소스의 URI가 영구적으로 이동
    Ex) /members -> Users원래의 URL를 사용 x, 검색 엔진 등에서도 변경 인지
    • 301
      리다이렉트 시 요청 메소드가 GET로 변하고, 본문이 제거될 수있다.
      (입력했던 정보가 날라가서 다시 입력을 해야할 수 있다.)
    • 308
      301과 기능은 같다.
      리다이렉트시 요청 메서드와 본문 유지
  • 301, 308 상태코드
  • 일시 리다이렉션
    리소스의 URI가 일시적으로 변경
    Ex) 주문 완료 후 주문 내역 화면으로 이동
    검색 엔진 등에서 URL을 변경하면 안됨
    PRG(Post/Redirect/Get) - post로 주문후 브라우저 새로고침 시 중복주문 방지
    • 302
      리다이렉트 시 요청 메소드가 GET로 변하고, 본문이 제거될 수있다.
      많이 사용하는 상태코드 이다.
    • 307
      리다이렉트 시 요청 메소드와 본문 유지
    • 303
      리다이렉트 시 요청 메소드가 GET로 변4경
  • 특수 리다이렉션
    결과 대신 캐시를 사용
    • 304
      캐시를 목적으로 사용
      클라이언트에게 리소스가 수정되지 않았음을 알려준다.

4xx

클라이언트 오류

  • 400 Bad Request
  • 클라이언트가 잘못요청을 해서 서버가 요청을 처리 할 수없음
  • 401 Unauthorized
    인증 되지 않음
    401 오류 발생 시 응답에 WWW-Authenticate헤더와 함께 인증 방법을 설명
  • 403 Forbidden
    서버가 요청을 이해했지만, 승인을 거부
    인증 자격증명은 있지만, 접근권한이 불충분한 경우 발생한다.
  • 404 Not Found
    요청 리소스를 찾을 수 없음

5xx

서버오류

  • 500 Internal Server Error
    서버 문제로 오류 발생
  • 503 Service Unavailable
    서비스 이용불가
    서버가 일시적인 과부하 또는 예정된 작업으로 잠시 요청을 처리 할 수없는 케이스

'CS' 카테고리의 다른 글

[용어] 인스턴스와 프로퍼티, 메소드  (0) 2023.04.20
node.js, npm, npx  (0) 2023.04.19
함수와 메소드 차이  (0) 2023.04.19
HTTP 프로토콜  (0) 2023.04.17
매개변수, 인자, 인수  (0) 2023.04.05
'CS' 카테고리의 다른 글
  • node.js, npm, npx
  • 함수와 메소드 차이
  • HTTP 프로토콜
  • 매개변수, 인자, 인수
ssund
ssund
  • ssund
    ssund의 기술블로그
    ssund
  • 전체
    오늘
    어제
    • TECH (82)
      • Next.js (8)
      • React (25)
      • Vite (1)
      • javascript (17)
      • CSS (6)
      • CS (10)
      • AWS (0)
      • Jest (1)
      • CI|CD (0)
      • 알고리즘 (8)
      • Tools (1)
      • Tips (5)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      배열요소순서
      Array.sort()
      styled-components
      웹브라우저구성
      global-style
      theme-provider
      reat-head
      react state management
      JavaScript
      React
      함수와 메서드차이
      call signatures
      타입스크립트
      서버컴포넌트
      커머스프로젝트
      redux
      app-router
      TypeScript
      git배포
      nextjs
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    ssund
    HTTP 상태코드
    상단으로

    티스토리툴바