이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

그림으로 배우는 Http&Network Basic 정리 - 4장. 결과를 전달하는 HTTP 상태 코드

  • 2025.02.16 20:12
  • Study Platform📚/그림으로 배우는 Http&Network Basic
    반응형
    이 시리즈는 그림으로 배우는 Http&Network Basic 을 읽고 스터디 하면서 정리한 내용입니다.
    추가적으로 포함되어 있는 내용은 GPT 를 이용하여서 정리한 내용으로 참고해주시면 감사하겠습니다.

     

    HTTP 상태 코드?

    HTTP 상태코드는 클라이언트의 요청에 대한 서버가 응답하는 상태를 나타내는 3자리 숫자코드이다.

    즉, 요청이 성공했는지, 실패했는지, 추가 작업이 필요한지를 서버가 알려주는 신호이다.

     

    ✔ 서버는 클라이언트의 요청을 받고, 상태 코드와 함께 응답을 반환
    ✔ 상태 코드는 3자리 숫자로 구성되며, 첫 번째 숫자가 응답의 유형을 나타냄
    ✔ 상태 코드 뒤에는 설명 메시지(Reason Phrase)가 포함

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
      "message": "Success"
    }

    ➡️ 200 OK → 요청이 정상적으로 처리되었음을 의미.

     

    4.1. 상태 코드는 서버로부터 리퀘스트 결과를 전달한다.

      클래스 요약 설명
    1xx Informational 정보 응답(요청 진행중) 리퀘스트를 받아들여 처리가 진행중
    2xx Success 성공(정상 처리 완료) 리퀘스트를 정상적으로 처리했음
    3xx Redirection 리디렉션(다른위치로 이동 필요) 리퀘스트를 완료하기 위해서 추가 동작이 필요(ex. 다른 url 이동)
    4xx Client Error 클라이언트 오류(잘못된 요청) 클라이언트 측에서 잘못된 리퀘스트를 보냄
    5xx Server Error 서버 오류(서버 측 문제 발생) 서버 측에서 리퀘스트 처리 실패

     

    1xx: 정보(Informational)

    • 많은 웹 서버와 브라우저는 1xx 응답을 자동 처리하기 때문에 직접 볼 일이 적음.
    • 일반적으로 HTTP/2 이후 100 Continue가 덜 사용됨.
    • 네트워크 프록시나 로드 밸런서가 1xx 응답을 필터링할 수도 있음

    아래와 같은 요청으로 강제로 100을 요청할수는 있지만, 잘 쓰지 않음

    curl -i -X POST --http1.1 --header "Expect: 100-continue" --data "testdata" https://httpbin.org/post

     


    4.2. 2xx: 성공(Success)

    • 200 OK: 요청 성공 (일반적인 응답)
    • 204 No Content: 요청 성공했으나 응답 본문 없음(엔티티 바디를 포함하지 않음)
    • 206 Partial Content : 요청한 일부 콘텐츠만 성공적으로 제공되었을때 반환되는 상태코드

     

    4.3.  3xx: 리다이렉트(Redirection)

    • 301 Moved Permanently: 요청한 리소스가 영구적으로 새로운 URL로 이동했을 때 반환되는 상태 코드
    • 302 Found: 일시적으로 다른 위치로 이동
    • 303 See Other: GET 요청으로 다른 URL 조회 필요
    • 304 Not Modified: 캐시된 데이터 사용 가능 (변경 없음)
    • 307 Temporary Redirect: 요청을 다른 URL로 임시 이동 (메서드 유지)
    상태 코드 설명 요청방식 유지 검색엔진 영향(SEO) 예시
    301 Moved Permanently 영구적인 URL 변경 GET 유지, POST → GET ✅ 새로운 URL 인덱싱 도메인 변경, 페이지 영구 이동
    302 Found 임시적인 URL 변경 GET 유지, POST → GET 🚫 기존 URL 유지 로그인 후 대시보드 이동, A/B 테스트
    303 See Other POST → GET 변환 후 리디렉트 항상 GET으로 변경 🚫 영향 없음 폼 제출 후 새로고침 방지
    304 Not Modified 캐시된 데이터 사용 🚫 요청 없음 🚫 영향 없음 브라우저 캐시 활용, 성능 최적화
    307 Temporary Redirect 임시 URL 변경 (메서드 유지) GET 유지, POST 유지 🚫 기존 URL 유지 HTTPS 리디렉트, API 리디렉트

     

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

    • 400 Bad Request: 잘못된 요청 (문법 오류 등)
    • 401 Unauthorized: 인증 필요 (로그인 필요)
    • 403 Forbidden: 접근 금지 (권한 부족)
    • 404 Not Found: 요청한 리소스를 찾을 수 없음
    상태 코드 설명 주요 원인
    400 Bad Request 잘못된 요청 JSON 형식 오류, 필수 파라미터 누락
    401 Unauthorized 인증되지 않음 (로그인 필요) API Key 없음, OAuth 토큰 만료
    403 Forbidden 접근 권한 없음 로그인했지만 권한 부족
    404 Not Found 요청한 리소스를 찾을 수 없음 URL 오타, 리소스 삭제됨

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

    • 500 Internal Server Error: 서버 내부 오류 발생
    • 503 Service Unavailable: 서버 과부하 또는 유지보수 중

     

    반응형

    'Study Platform📚 > 그림으로 배우는 Http&Network Basic' 카테고리의 다른 글

    그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)  (0) 2025.03.02
    그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버  (0) 2025.02.18
    그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다  (1) 2025.02.12
    그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP  (0) 2025.02.11
    JWT(Json Web Tool) 작동원리와 Refresh Token  (0) 2025.02.11

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)

      그림으로 배우는 Http&Network Basic 정리 - 6장. HTTP 헤더(6.6~6.8)

      2025.03.02
    • 그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버

      그림으로 배우는 Http&Network Basic 정리 - 5장. HTTP와 연계하는 웹 서버

      2025.02.18
    • 그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다

      그림으로 배우는 Http&Network Basic 정리 - 3장. HTTP 정보는 HTTP 메세지에 있다

      2025.02.12
    • 그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP

      그림으로 배우는 Http&Network Basic 정리 - 2장. 간단한 프로토콜 HTTP

      2025.02.11
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (172)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (28)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
        • AWS SAA C03공부하기 (3)
      • 까먹을까봐 적는 것들 (5)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 99클럽
    • 코딩테스트준비
    • 티스토리챌린지
    • TiL
    • 프로그래머스
    • 항해99
    • 백준
    • 오블완

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. © 쿄코코. Designed by Fraccino.

    티스토리툴바