2025-10-27
오늘 배운 것
사용자가 www.naver.com 을 입력하면 일어나는 일
1) Redirect 확인
- 요청한 URL이 리다이렉트 대상인지 확인
- 있다면 새 주소로 이동 (301/302)
- 없다면 그대로 다음 단계 진행
2) 캐싱 확인
- 이미 캐싱된 응답이 있는가?
- 있으면 → 네트워크 통신 없이 캐시 데이터 사용
- 없으면 → 실제 서버로 요청 진행
캐싱(Cache)
요청 결과를 저장해두었다가 재요청 시 빠르게 응답하기 위한 기술
- 브라우저 캐시
- 쿠키/로컬스토리지 포함
- 방문했던 사이트의 정적 리소스(html, css, js, img) 저장
- 공유 캐시 (프록시 캐시)
- 서버 앞단 리버스 프록시에서 캐싱하여 다수 사용자와 공유
3) DNS 조회 (도메인 → IP 변환)
www.naver.com→ FQDN (Fully Qualified Domain Name)www= 호스트naver.com= 도메인
- Resolver : DNS 요청을 네임서버로 전달
- Name Server : 해당 도메인의 IP 주소 응답
- DNS Cache : 이미 조회된 주소는 브라우저/OS 레벨에서 재사용
4) IP 라우팅 & ARP
- 얻은 IP로 목적지 서버까지 라우터를 통해 홉바이홉 이동
- 필요 시 ARP로 IP에 해당하는 MAC 주소 조회 후 전송
5) 연결 수립 — HTTP/2 or HTTP/3
- HTTP/2 → TCP 기반 (3-Way Handshake + TLS)
- HTTP/3 → UDP 기반 QUIC (핸드셰이크 최소화)
보안 연결(TLS handshake) 완료 후 클라이언트 → 서버로 HTTP 요청 전송
6) 컨텐츠 다운로드
- 서버가 응답을 전송 시작
- 이 순간을 TTFB (Time To First Byte) 라고 한다.
7) 브라우저 렌더링
- 응답받은 HTML 기반 파싱
- CSS/JS/이미지 추가 요청 및 결합
- DOM/CSSOM 생성 → Render Tree 구성 → Layout → Paint
입력 한 줄 = DNS → Routing → Handshake → Request/Response → 렌더링
단순해 보이지만 수십 가지 기술과 프로토콜이 동작한다. ⚙️