HTTP 상태코드

2023. 4. 17. 21:45·CS
목차
  1. 2xx
  2. 3xx 리다이렉션
  3. 리다이렉션이란?
  4. 리다이렉션 종류
  5. 4xx
  6. 5xx

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

  • 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
  1. 2xx
  2. 3xx 리다이렉션
  3. 리다이렉션이란?
  4. 리다이렉션 종류
  5. 4xx
  6. 5xx
'CS' 카테고리의 다른 글
  • node.js, npm, npx
  • 함수와 메소드 차이
  • HTTP 프로토콜
  • 매개변수, 인자, 인수
ssund
ssund
  • ssund
    ssund의 기술블로그
    ssund
  • 전체
    오늘
    어제
    • TECH (83)
      • Next.js (13)
      • React (24)
      • Vite (0)
      • javascript (17)
      • CSS (7)
      • CS (8)
      • AWS (0)
      • Jest (1)
      • CI|CD (0)
      • 알고리즘 (8)
      • Tools (1)
      • Tips (4)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

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

    • 최근 글

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

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.