# 네트워크와 HTTP의 원리

[원문](https://www.linkymeadow.com/w/8a37d1/)

마지막 수정: 2026-10-05 21:40 (KST)

브라우저가 주소를 해석하고 서버와 통신해 화면을 표시하는 과정부터 웹 인프라까지 살펴보는 자료입니다. 프로토콜 명세와 구현 안내를 함께 읽으며 연결·요청·세션의 역할을 구분할 수 있습니다.

## 웹 요청과 주소

- [How browsers work — MDN](https://developer.mozilla.org/en-US/docs/Web/Performance/Guides/How_browsers_work)

  DNS 조회, 연결과 보안 협상, 응답 다운로드, 파싱·렌더링으로 이어지는 흐름을 설명합니다.
- [RFC 3986: URI Generic Syntax — IETF](https://www.rfc-editor.org/rfc/rfc3986.html)

  URI의 구성 요소와 상대 참조를 정의하며 URL·URN과의 관계를 설명합니다.
- [Computer Networks: A Systems Approach — Peterson·Davie](https://github.com/SystemsApproach/book)

  네트워크 계층, 패킷 교환, IP 주소와 라우팅, 전송 계층을 다루는 공개 교재의 원본 저장소입니다.
- [RFC 2131: Dynamic Host Configuration Protocol — IETF](https://www.rfc-editor.org/rfc/rfc2131.html)

  DHCP의 주소 할당·임대·갱신 절차와 수동·자동·동적 할당을 정의합니다.
- [RFC 3022: Traditional IP Network Address Translator — IETF](https://www.rfc-editor.org/rfc/rfc3022.html)

  사설망과 외부망 사이에서 주소·포트를 변환하는 NAT·NAPT의 동작과 제약을 설명합니다.

## TCP와 HTTP

- [RFC 9293: Transmission Control Protocol — IETF](https://www.rfc-editor.org/rfc/rfc9293.html)

  TCP 연결 수립과 종료, 상태 전이, 재전송과 신뢰성의 기준을 정의합니다.
- [Overview of HTTP — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Overview)

  클라이언트·서버·프록시 사이의 요청·응답, 무상태성, HTTPS와 쿠키의 역할을 소개합니다.
- [RFC 9110: HTTP Semantics — IETF](https://www.rfc-editor.org/rfc/rfc9110.html)

  메서드·상태 코드·헤더와 안전성·멱등성 등 HTTP 버전에 공통인 의미를 정의합니다.
- [RFC 9113: HTTP/2 — IETF](https://www.rfc-editor.org/rfc/rfc9113.html)

  HTTP/2의 프레임·스트림·다중화와 HTTP/1.1에서 달라지는 전송 구조를 정의합니다.
- [Connection management in HTTP/1.x — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Connection_management_in_HTTP_1.x)

  짧은 연결·지속 연결·파이프라이닝을 비교하며 Keep-Alive가 연결 재사용에 미치는 영향을 설명합니다.
- [ConnectionConfig — Apache HttpClient](https://hc.apache.org/httpcomponents-client-5.5.x/current/httpclient5/apidocs/org/apache/hc/client5/http/config/ConnectionConfig.html)

  연결 수립 시간과 소켓 대기 시간 등 클라이언트별 타임아웃 설정의 의미를 확인할 수 있습니다.

## 서버와 중간 계층

- [Proxy servers and tunneling — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling)

  포워드·리버스 프록시와 터널링의 역할, 중계 과정의 연결·헤더 처리를 설명합니다.
- [NGINX Reverse Proxy](https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy)

  리버스 프록시가 요청을 애플리케이션 서버로 전달하고 응답을 중계하는 설정을 설명합니다.
- [HTTP Load Balancing — NGINX](https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/)

  서버 그룹과 분산 알고리즘, 세션 유지 등 여러 백엔드로 요청을 나누는 방법을 설명합니다.
- [Apache Tomcat Introduction](https://tomcat.apache.org/tomcat-10.1-doc/introduction.html)

  Servlet 컨테이너와 커넥터 등 Tomcat의 구성 요소를 통해 웹 서버와 애플리케이션 실행 계층을 살펴볼 수 있습니다.
- [What is a CDN? — Cloudflare](https://www.cloudflare.com/learning/cdn/what-is-a-cdn/)

  분산된 서버에서 콘텐츠를 전달하고 캐시를 이용하는 CDN의 기본 구조를 설명합니다.

## 애플리케이션 통신과 화면

- [Using HTTP cookies — MDN](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Cookies)

  쿠키의 생성·전송·범위·수명과 세션 ID를 이용한 상태 유지 방식을 설명합니다.
- [Spring Session with Redis — Spring](https://docs.spring.io/spring-session/reference/guides/boot-redis.html)

  여러 애플리케이션 인스턴스에서 공유할 수 있도록 HttpSession을 Redis에 저장하는 구성을 설명합니다.
- [Representational State Transfer — Roy Fielding](https://ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm)

  클라이언트·서버 분리, 무상태성, 캐시와 일관된 인터페이스 등 REST를 구성하는 제약을 제안한 논문입니다.
- [Rendering on the Web — web.dev](https://web.dev/articles/rendering-on-the-web?hl=en)

  SSR·CSR·정적 렌더링과 하이드레이션을 비교하고 초기 표시와 상호작용 사이의 비용을 설명합니다.

## 관련 문서

- [CORS와 교차 출처 요청](https://www.linkymeadow.com/w/0d27a3/)
- [암호화와 키 관리](https://www.linkymeadow.com/w/ccd292/)
- [분산 시스템과 운영](https://www.linkymeadow.com/w/913d6a/)
- [백엔드 개발 학습 자료](https://www.linkymeadow.com/w/e48b27/)
