[HTTP] HTTP 메시지

yj j·2024년 4월 16일

우리는 HTTP로 이미지, 음성, 파일, 동영상 등 모든 데이터를 전송할 수 있습니다.
이런 데이터들을 HTTP 메시지 형식으로 보냅니다.

HTTP 메시지 구조

HTTP 메시지는 시작 라인, 헤더, 공백 라인, 메시지 바디로 이루어져 있습니다.

같은 구조를 이루지만 요청 메시지와 응답 메시지의 형식이 다르게 되어 있습니다.

시작 라인(start-line)

요청 메시지에서는 request-line 이라고 부릅니다.
HTTP 메서드, 요청 대상, HTTP 버전으로 이루어져 있고, 각각은 공백으로 구분합니다.

HTTP 메서드

  • 종류 : GET, POST, PUT, DELETE 등
  • 서버가 수행해야 할 동작을 지정합니다.

요청 대상

  • /로 시작하는 경로인 절대경로와 ?로 시작하는 쿼리가 합쳐진 형태입니다.



응답 메시지의 시작 라인은 status-line이라고 부릅니다.
HTTP 버전, HTTP 상태 코드, 이유 문구 순으로 이루어져 있고 마찬가지로 공백으로 구분됩니다.

HTTP 상태 코드

  • 요청의 성공, 실패 여부를 나타냅니다.
  • 200 : 성공
  • 400 : 클라이언트 요청 오류
  • 500 : 서버 내부 오류

이유 문구

  • HTTP 상태 코드를 사람이 이해할 수 있는 짧은 설명입니다.

헤더

  • HTTP 전송에 필요한 모든 부가 정보를 가지고 있습니다.
  • 예시) 메시지 바디의 내용, 메시지 바디의 크기, 압축, 인증, 요청 클라이언트(브라우저) 정보, 서버 애플리케이션 정보, 캐시 관리 정보 등등
  • header-field는 field-name과 field-value로 이루어져 있습니다.
  • field-name: OWS field-value OWS (OWS:띄어쓰기 허용) 형식입니다.
  • field-name은 대소문자 구분 없이 사용합니다.

HTTP 메시지 바디

  • 실제 전송할 데이터입니다.
  • HTML 문서, 이미지, 영상, JSON 등등 byte로 표현할 수 있는 모든 데이터를 전송 가능합니다.
profile
꿈꾸는 사람

0개의 댓글