← 질문 목록
#368깊이 0

HTTP/2는 단일 연결에서 여러 요청을 어떻게 동시에 처리하는가?

네트워크

답변 연습

내 답변 적어보기접힘
이 브라우저에 자동 저장 · 0자
모범답안 확인하기내 답변 뒤에 열어보세요

메시지를 프레임이라는 작은 단위로 나누고 스트림 ID를 부여하여 섞어서 전송하기 때문이다.

기준HTTP/1.1HTTP/2
전송 방식요청마다 순차 전송프레임 단위 교차 전송
병목 원인응답 지연으로 뒤 요청 대기TCP 수준의 패킷 손실

HTTP/1.1은 앞선 요청의 응답이 밀리면 뒤의 요청도 대기한다. 이를 HTTP head-of-line blocking이라 부른다. HTTP/2는 메시지를 프레임으로 쪼개어 이 문제를 피한다. 각 프레임은 고유한 스트림 ID를 가진다.

서버와 클라이언트는 프레임이 뒤섞여 와도 ID로 원래 메시지를 합친다. 연결을 하나만 유지하므로 소켓 자원을 아낀다. 네트워크가 혼잡할 때 발생하는 연결 생성 지연도 줄어든다.

다만 패킷이 누락되면 TCP 수준에서 재전송을 기다려야 한다. 이 때문에 모든 스트림이 일시적으로 멈추는 한계가 있다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

HTTP/2는 단일 연결에서 여러 요청을 어떻게 동시에 처리하는가?