브라우저가 주소를 해석하고 서버와 통신해 화면을 표시하는 과정부터 웹 인프라까지 살펴보는 자료입니다. 프로토콜 명세와 구현 안내를 함께 읽으며 연결·요청·세션의 역할을 구분할 수 있습니다.
웹 요청과 주소
-
DNS 조회, 연결과 보안 협상, 응답 다운로드, 파싱·렌더링으로 이어지는 흐름을 설명합니다.
-
RFC 3986: URI Generic Syntax — IETF
URI의 구성 요소와 상대 참조를 정의하며 URL·URN과의 관계를 설명합니다.
-
Computer Networks: A Systems Approach — Peterson·Davie
네트워크 계층, 패킷 교환, IP 주소와 라우팅, 전송 계층을 다루는 공개 교재의 원본 저장소입니다.
-
RFC 2131: Dynamic Host Configuration Protocol — IETF
DHCP의 주소 할당·임대·갱신 절차와 수동·자동·동적 할당을 정의합니다.
-
RFC 3022: Traditional IP Network Address Translator — IETF
사설망과 외부망 사이에서 주소·포트를 변환하는 NAT·NAPT의 동작과 제약을 설명합니다.
TCP와 HTTP
-
RFC 9293: Transmission Control Protocol — IETF
TCP 연결 수립과 종료, 상태 전이, 재전송과 신뢰성의 기준을 정의합니다.
-
클라이언트·서버·프록시 사이의 요청·응답, 무상태성, HTTPS와 쿠키의 역할을 소개합니다.
-
RFC 9110: HTTP Semantics — IETF
메서드·상태 코드·헤더와 안전성·멱등성 등 HTTP 버전에 공통인 의미를 정의합니다.
-
HTTP/2의 프레임·스트림·다중화와 HTTP/1.1에서 달라지는 전송 구조를 정의합니다.
-
Connection management in HTTP/1.x — MDN
짧은 연결·지속 연결·파이프라이닝을 비교하며 Keep-Alive가 연결 재사용에 미치는 영향을 설명합니다.
-
ConnectionConfig — Apache HttpClient
연결 수립 시간과 소켓 대기 시간 등 클라이언트별 타임아웃 설정의 의미를 확인할 수 있습니다.
서버와 중간 계층
-
Proxy servers and tunneling — MDN
포워드·리버스 프록시와 터널링의 역할, 중계 과정의 연결·헤더 처리를 설명합니다.
-
리버스 프록시가 요청을 애플리케이션 서버로 전달하고 응답을 중계하는 설정을 설명합니다.
-
서버 그룹과 분산 알고리즘, 세션 유지 등 여러 백엔드로 요청을 나누는 방법을 설명합니다.
-
Servlet 컨테이너와 커넥터 등 Tomcat의 구성 요소를 통해 웹 서버와 애플리케이션 실행 계층을 살펴볼 수 있습니다.
-
분산된 서버에서 콘텐츠를 전달하고 캐시를 이용하는 CDN의 기본 구조를 설명합니다.
애플리케이션 통신과 화면
-
쿠키의 생성·전송·범위·수명과 세션 ID를 이용한 상태 유지 방식을 설명합니다.
-
Spring Session with Redis — Spring
여러 애플리케이션 인스턴스에서 공유할 수 있도록 HttpSession을 Redis에 저장하는 구성을 설명합니다.
-
Representational State Transfer — Roy Fielding
클라이언트·서버 분리, 무상태성, 캐시와 일관된 인터페이스 등 REST를 구성하는 제약을 제안한 논문입니다.
-
Rendering on the Web — web.dev
SSR·CSR·정적 렌더링과 하이드레이션을 비교하고 초기 표시와 상호작용 사이의 비용을 설명합니다.