Http1


title: 2025-09-24 author: 강병호 date: 2025-09-24 category: TIL/강병호/2025/09 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

HTTP/1.1의 문제점에서, 결과론 적으로 지연을 증가시키는 원인이 되는 3가지 항목을 나열하고, 간단하게 설명합니다.

Head of Line blocking 3개의 Request가 순차적으로 들어오는 경우 들어온 순서대로 Response를 내주어야 합니다. 이 것이 Response를 받는 입장에서 첫번째로 들어간 것의 프로세싱이 오래걸린다면 두번째, 세번째의 Request에 대한 Response는 받지 못하는 지연 상황이 발생하게 됩니다. 해당 부분은 HTTP/1.1 의 경우 메시지가 많이 발생한다고 생각하지 않고 쉽게 설계하여 시퀀스 넘버의 부재로 인하여 번호가 순서대로 답변하는 방법외에는 없었기에 이런 상황이 발생하였습니다.

Fat message headers HTTP/1.1 에서의 Request, Response 메시지의 헤더를 확인해보면 OS, Browsers, 통신 및 보안 체계, cookie 정보 등에 대한 많은 메타 정보를 저장하여 정보를 교환합니다. 이런 상황에서 Domain Sharing 없이 매 요청 시 마다 중복된 Header값을 전송하기에 불필요한 정보 교환이 이루어집니다. 더 나아가 이런 상황에서 주고받고자 하는 Body의 정보보다 Header의 정보가 더 큰 경우도 존재합니다.

Limited Priorities Head of Line Blocking을 어느정도 해소하는 방안으로 Page 상에 필요한 요소(HTML, JS script)들에 대해 우선순위를 지정하는 스케줄링을 통해 정보를 내려주기 시작했지만 이것 또한 우선순위가 높은 요소가 정보가 너무 커서 계속 Line을 붙들고 있다면 결론적으로 뒤에 필요한 요소들은 내려가지 못하여 고객들의 입장에서 서비스가 멈추었다고 생각하며 리소스의 입장에서는 Starvation의 문제가 발생합니다.

results matching ""

    No results matching ""