HTTP 메시지 뿌시기!

Kim Hyen Su·2023년 3월 22일
1
post-thumbnail

👍 개인 공부 목적의 포스팅으로 잘못된 정보가 있을 경우 꼭 댓글 달아주세요!👍

목차

  1. HTTP 개요
  2. HTTP 메시지
    1. 요청
      • 요청 헤더
      • 요청 바디
    2. 응답
      • 응답 헤더
      • 응답 바디
  3. 요청 메서드

1. HTTP 개요

  • Hyper Texgt Transfer Protocol
  • 웹에서 데이터를 주고 받을 때 통신에 대해 미리 정한 규칙이 HTTP이다.
  • 웹에서 이뤄지는 모든 데이터 교환의 기초이다.

2. HTTP 메시지

  • 웹은 서버와 클라이언트로 구성되어 있다.
  • 서버와 클라이언트 간의 통신 시 메시지 형태로 데이터를 주고 받는데, 이를 HTTP 메시지라고 한다.
  • 메시지는 크게 헤더와 바디로 구성되어 있다.
  1. 요청 (클라이언트 -> 서버)

    • 데이터 요청 시 서버로 보내는 HTTP 메세지.

    • 요청 헤더
      - 실제 요청 데이터에 대한 정보 및 부가적인 정보를 담는 곳.

      • user-agent : 클라이언트에 대한 정보.
      • cookie : 서버에서 요청한 쿠키에 대한 정보.
      • accept : 클라이언트에서 허용가능한 파일 형식에 대한 정보.
      • accept-language : 클라이언트에서 사용하는 언어에 대한 정보.
      • authority : 호스트네임 정보.
      • method : 요청 방식에 대한 정보.
      • cache-control : 캐싱 메커니즘에 대한 정보.
    • 요청 바디
      - 실제 요청 데이터를 담는 곳.

      • 서버로 요청할 실제 데이터.
      • POST 양식의 데이터.
      • 서버로 전송할 파일 데이터.
  2. 응답 (서버 -> 클라이언트)

    • 요청에 대한 응답 데이터를 클라이언트로 보내는 HTTP 메시지.
    • 응답 헤더
      - 실제 응답 데이터에 대한 정보 및 부가적인 정보를 담는 곳.
      • 응답 상태코드 대한 정보
      • 응답 데이터의 형식에 대한 정보
        👉 content-type : 응답 데이터 형식 (text/html ...)
      • 웹브라우저의 동작 통제를 위한 정보
        👉 쿠키 생성 요청
    • 응답 바디
      - 실제 응답 데이터를 담는 곳.
      • 요청에 대한 실제 응답 데이터.

    ✌️응답 상태 코드

    • MDN 메뉴얼 참고
    • HTTP에 요청에 대한 응답 상태를 알려주기 위한 코드가 정의되어 있다.
    • 2XX
      - 정상 응답
      • 200 : OK
      • 201 : Created, 정상 작성
    • 3XX
      - 리다이렉션(페이지 이동)
      • 301 : Move Permanently, 영구이동
      • 302 : Found, 임시이동
      • 304 : Not Modified, 캐시됨
    • 4XX
      - 요청 오류
      • 400 : Bad Request, 잘못된 요청 - 보통 url 부분 오타가 많음
      • 401 : Unauthorized, 요청 권한이 없음
      • 403 : Forbidden, 접근 금지
      • 404 : Not Found, 요청 데이터 못찾음
    • 5XX
      - 서버 오류
      • 500 : Internal Server Error, 서버 내부 문제
      • 503 : Service Unavailable, 서비스 사용 불가 - 보통 유지보수 시 지정

3. 요청 메서드

  • 서버로 데이터 요청 시 요청하는 방식을 요청 메서드라고 한다.

  • GET
    - 서버로 부터 데이터 검색을 위한 방식.

    • 캐시 사용이 가능하고, 가장 단순하여 빠른 요청 시 사용함.
    • 하지만, 요청 시 입력한 데이터를 서버로 전송 시 데이터가 URL 주소 뒤에 추가되므로 노출 위험이 있어 보안에 취약하다.
  • POST
    - 서버 내부 자원을 수정할 때 사용하는 방식.

    • 보통 서버 내 정보를 추가하거나 수정할 때 사용함.
    • 요청 시 입력한 데이터를 요청 바디에 담아 보안상 안전하다.
    • 입력한 데이터의 길이 제한이 없다.
  • PUT
    - 서버 내부 자원을 전체 치환할 때 사용하는 방식.

    • POST 방식 중 하나이다.
    • 보통 파일 업로드 시 많이 사용한다.
  • PATCH
    - 서버 내부 자원을 일부 치환할 때 사용하는 방식.

    • POST 방식 중 하나이다.
  • DELETE
    - 서버의 데이터를 삭제 요청 시 사용하는 방식.

    • GET 방식 중 하나이다.
  • OPTIONS
    - 통신 옵션을 설명하기 위해 다른 요청 방식보다 먼저 요청되는 것.

profile
백엔드 서버 엔지니어

0개의 댓글