230104 - TIL

Junho Yun·2023년 1월 4일
0

TIL

목록 보기
48/81
post-thumbnail

HTTP 정보는 HTTP 메시지에 있다

HTTP 메시지

HTTP에서 교환하는 정보를 부르는 말 입니다. HTTP 메시지는 복수행 (개행 문자는 CR+LF)의 데이터로 구성된 텍스트 문자열 입니다.

HTTP 메시지 구조

메시지 헤더, 개행문자, 메시지 바디 로 구분되어 있습니다.

  • 리퀘스트 라인 : 리퀘스트 메소드 및 HTTP 버전이 포함
  • 상태 라인 : 리스폰스 결과를 나타내는 상태 코드와 설명
  • 헤더 필드 : 리퀘스트와 리스폰스의 여러 조건과 속성 등을 나타내는 각종 헤더 필드
  • 그 외 : HTTP의 RFC에는 없는 헤더 필드 (쿠키와 같은 것들)이 포함 될 경우도 있음

인코딩으로 전송 효율 높이기

  • 콘텐츠 코딩 : 인코딩으로 데이터를 압축해서 송신하면 전송 효율을 높힐 수 있습니다. 이는 콘텐츠 코딩이라고 불리는 기능입니다. 단점으로는 CPU의 연산 성능이 필요하다는 것 입니다.
  • 청크 코딩 : 큰 데이터를 작게 분해해서 전송하는 방식 입니다.

여러 데이터를 보내는 멀티파트

이메일을 예시로 들 수 있습니다. 텍스트, 이미지, 영상 등 여러가지의 형식을 다루기 위한 기능을 사용합니다. MIME는 이미지 등의 바이너리 데이터를 아스키 문자열에 인코딩하는 방법과 데이터 종류를 나타내는 방법 등을 규정하고 있습니다.

일부분만 받는 레인지 리퀘스트

대용량의 데이터의 경우 다운로드를 받다가 연결이 끊어지면 처음부터 받아야하는 곤란한 상황들이 있었습니다. 이러한 상황을 해결하기 위해서 리줌(RESUME)이라는 기능이 생겼습니다. 이는 다운로드 중 연결이 끊어졌을 경우 해당 위치에서 다시 다운로드가 진행되는 방식을 말합니다.

이 기능을 실현하기 위해서는 엔티티의 범위를 지정해서 다운로드를 할 필요가 있습니다. 이처럼 범위를 지정하여 리퀘스트 하는 것을 레인지 리퀘스트 라고 합니다.

profile
의미 없는 코드는 없다.

0개의 댓글