0406
Shared on April 6, 2026
쿠키와 웹 캐시, HTTP 프로토콜, 이메일 프로토콜 개요
개요
본 강의에서는 쿠키(First‑Party & Third‑Party)와 웹 캐시의 동작 원리, HTTP 프로토콜의 진화(1.0 → 2.0 → 3.0), 그리고 이메일 전송 프로토콜인 SMTP와 관련 인프라(메일 서버, 메일 박스, 메일 에이전트)를 다룹니다.
쿠키
핵심 개념
-
First‑Party 쿠키
- 사용자가 방문한 사이트(예: newyorktimes.com)에서 설정.
- 브라우저 종료 시 삭제 설정이 가능.
- 사용자가 직접 제어할 수 있는 필수 쿠키.
-
Third‑Party 쿠키
- 광고 서버(예: adx.com) 등 방문자가 직접 방문하지 않은 도메인에서 설정.
- 사용자의 브라우징 히스토리를 추적·연결해 타겟 광고를 가능하게 함.
- 대부분 사용자 동의 없이 삽입되며 개인정보 보호 이슈가 큼.
주요 사례
- 광고 요청 흐름
- 사용자 → NewYorkTimes 스포츠 섹션 → adx.com → 광고 삽입.
- adx.com은 Referrer를 통해 방문 경로를 확인하고 쿠키(예:
7493)를 설정 → Third‑Party 쿠키 생성. - 사용자가 다른 사이트(예: socks.com)로 이동해도 adx.com는 쿠키를 이용해 시계열 데이터를 연결 → 맞춤형 광고 제공.
보안 & 정책
-
GDPR
- 쿠키를 “트레이스” 및 “식별자”로 분류, 사용 동의 필요.
- 사이트 접속 시 동의 화면(전체 허용/거부/필수만) 제공.
-
브라우저 설정
- Chrome: 2024년 말에 Third‑Party 쿠키 기본 비활성화.
- Safari: 기본 비활성화.
- 사용자는 “브라우저 종료 시 쿠키 삭제” 옵션을 설정 가능.
권장 사항
- 브라우저 종료 시 쿠키 삭제 설정 활성화.
- Third‑Party 쿠키를 기본 비활성화 설정.
- GDPR 요구에 따라 동의 수집 및 관리 구현.
웹 캐시
핵심 개념
- 캐시는 서버에서 제공하는 객체를 중간에 저장해 두어 재요청 시 바로 반환.
- Hit Ratio: 요청 중 캐시에 저장된 객체가 존재하는 비율.
- 70% 이상의 Hit Ratio가 좋은 성능을 보임.
동작 흐름
- 클라이언트 → 캐시 → (있다면) 바로 응답.
- 없으면 캐시 → Origin 서버 요청 → 응답을 캐시에 저장 후 반환.
서버와 캐시의 협력
- 인증서: 캐시가 최신 여부를 판단할 수 있도록
Cache-Control,Expires,ETag,Last-Modified헤더 제공. - Conditional GET
If-Modified-Since/If-None-Match사용 시, 서버가 변경 여부를 판단해304 Not Modified전송 → 트래픽 절감.
이슈 및 해결
- Stale Data: 서버가
max-age보다 빨리 객체를 변경할 경우.- Solution:
Cache-Control: no-store또는max-age를 짧게 설정.
- Solution:
- Cache Invalidation:
ETag또는Last-Modified를 활용해 최신성 검증.
성능 예시
- 대역폭: 내부 네트워크(1 Gbps) vs 외부(1.54 Mbps)
- 70% 이상 대역폭 사용 시 큐잉 지연 발생.
- 캐시를 활용해 내부 네트워크에서 대부분의 요청을 처리하면 외부 대역폭 사용량을 약 0.6 Mbps 이하로 감소시켜 지연을 최소화.
HTTP 프로토콜 진화
| 버전 | 특징 | 주요 이슈 | 해결 방안 |
|---|---|---|---|
| 1.0 | 비연속 연결 | 느린 전송 | - |
| 1.1 | Persistent 연결, Pipelining | Head‑of‑Line Blocking (H-OLB) | - |
| 2.0 | Multiplexing, Stream Prioritization, Server Push | 여전히 TCP 기반 → Loss Recovery 한계 | 프레임 단위 스케줄링으로 H‑OLB 완화 |
| 3.0 (QUIC) | UDP 기반, TLS 내장, Zero‑RTT | TCP 의존성 해소, 연결 재설정 최소화 | Session Ticket + Zero‑Handshake를 통해 빠른 연결 재개 |
HTTP/2 핵심 개념
- 프레임: 객체를 작은 단위로 분할해 라운드‑로빈 방식으로 전송.
- 우선순위: 대용량 객체보다 작은 객체를 먼저 전송해 H‑OLB 최소화.
- Server Push: 클라이언트 요청 전 미리 필요한 리소스를 전송.
HTTP/3 (QUIC) 핵심 개념
- UDP를 사용해 TCP의 세션 관리와 TLS를 자체 구현.
- 연결 설정: 1 RTT (또는 0 RTT)으로 TLS 핸드쉐이크 완성.
- 컨전션 컨트롤: 각 스트림 별로 독립적으로 적용.
- 메시지 보안: QUIC 자체에 TLS 1.3 내장 → 별도 TLS 필요 없음.
이메일(SMTP) 프로토콜
구성 요소
- 메일 에이전트 (Outlook, Apple Mail, Mutt 등)
- 메일 서버 (SMTP 서버)
- SMTP 프로토콜 (TCP 포트 25)
동작 흐름
- 사용자는 메일 에이전트에서 메시지 작성 → 자신의 메일 서버에 전달.
- 메일 서버는 SMTP를 통해 수신자 메일 서버와 연결 → 메시지 전달.
- 수신자 메일 서버는 메일박스에 저장 → 사용자에게 전달.
SMTP 특징
- 간단한 텍스트 기반: 명령어(HELO, MAIL FROM, RCPT TO, DATA, QUIT)와 응답 코드(250, 550 등).
- TCP 기반: 연결 설정, 데이터 전송, 연결 종료 순서.
- 비상황: 수신자 서버가 응답하지 않으면 재시도 → 실패 시 에러 메시지 반환.
메일박스 & 메일큐
- 메일박스: 사용자별 저장소(예:
[email protected]). - 메일큐: 서버가 외부 서버와 연결해 보낼 메시지를 순차적으로 저장.
핵심 Take‑away
쿠키는 사용자의 브라우징 패턴을 추적하지만, GDPR과 브라우저 정책에 따라 Third‑Party 쿠키는 비활성화가 권장됩니다.
웹 캐시는 Hit Ratio와 적절한 유효 기간 설정이 성능에 직접적인 영향을 미칩니다.
HTTP/2와 **QUIC(HTTP/3)**는 멀티플렉싱, 프레임 분할, 서버 푸시, TLS 내장 등을 통해 Head‑of‑Line Blocking과 연결 지연을 크게 줄입니다.
SMTP는 단순하면서도 견고한 메일 전송 프로토콜로, 메일 서버 간의 TCP 연결을 통해 메시지를 교환합니다.