반응형
TCP 연결 + TLS 암호화까지 끝났으면, 이제 드디어 실제 요청을 보내요.
HTTP는 클라이언트와 서버가 데이터를 주고받는 약속된 형식이에요.
요청은 크게 세 부분으로 구성돼요 — 시작줄, 헤더, 바디.

각 부분 설명:
시작줄은 딱 한 줄로 "무슨 메서드로, 어느 경로를, 어떤 HTTP 버전으로" 요청하는지를 담아요.
GET /index.html HTTP/1.1 이런 식이에요.
헤더는 요청의 메타데이터예요. 실제 데이터는 아니지만 서버가 요청을 처리하는 데 필요한 정보들이에요.
주요한 것들만 보면 —
Host는 어느 도메인에 요청하는지(하나의 IP에 여러 도메인이 붙어있을 수 있어서 필수),
Cookie는 로그인 상태 유지, Authorization은 API 인증 토큰,
Accept는 응답으로 어떤 형식을 원하는지예요.
바디는 서버에 보낼 실제 데이터예요. GET처럼 데이터를 조회만 하는 요청엔 없고, 로그인이나 게시글 작성처럼 데이터를 보내야 하는 POST/PUT에서 써요.
HTTP 버전별 차이
HTTP/1.1 — 요청마다 순서대로 처리해요. 하나 끝나야 다음 걸 보낼 수 있어서 느려요(HOL Blocking).
HTTP/2 — 하나의 TCP 연결에서 여러 요청을 동시에 보낼 수 있어요(멀티플렉싱). 헤더도 압축해요.
HTTP/3 — TCP 대신 UDP 기반의 QUIC 프로토콜을 써요. TCP의 HOL Blocking 문제를 근본적으로 해결했어요.
반응형
'Front-End > 네트워크(브라우저)' 카테고리의 다른 글
| 5.1 DOM (0) | 2026.04.01 |
|---|---|
| 5. 서버 응답 + 브라우저 렌더링 (0) | 2026.04.01 |
| 3-1. TLS 1.2, TLS1.3 차이 (0) | 2026.03.31 |
| 3. TLS handshake — HTTPS 암호화 연결 (0) | 2026.03.31 |
| 2. TCP 연결 — 3-way handshake (0) | 2026.03.31 |