CS/Computer Network

Nework Application Layer

Coding Kitsune 2025. 8. 27. 11:08

 

 

Cookie

 

HTTP 프로토콜은 stateless (상태 비저장) 이며, 서버는 클라이언트가 이전에 누구였는지 기억하지 못한다. 그래서 쿠키(cookie) 를 사용해서 사용자 상태를 식별하고, 세션을 유지한다. 쿠키는 서버가 생성하여 클라이언(브라우저)에 저장하는 작은 데이터 조각.

 

 

 

Cookie 동작 과정

 

 

1. 클라이언트 → 서버 요청

  • 사용자가 브라우저로 amazon.com 접속 (HTTP request 보냄)

2. 서버 → 클라이언트 응답 (쿠키 발급)

  • 서버가 유저를 구분하기 위해 ID를 생성 (예: 1678).
  • HTTP response header에 Set-Cookie: 1678 을 넣어 전달.
  • 브라우저는 이 값을 로컬에 저장.

3. 이후 요청 시 쿠키 전송

  • 클라이언트가 다시 Amazon 서버에 요청할 때, request header에 Cookie: 1678 을 자동으로 첨부.
  • 서버는 DB에서 해당 ID를 찾아서, 사용자-specific 동작(장바구니, 로그인 유지 등)을 수행.

4. 일주일 뒤에도 지속

  • 쿠키가 만료되지 않았다면, 브라우저는 계속 Cookie: 1678 을 요청과 함께 보냄.
  • 따라서 서버는 사용자를 식별할 수 있음.

 

 

Cookie에 대한 한계와 보완

 

  • 쿠키는 클라이언트에 저장되므로 보안 위험 (도난/위조 가능) → HttpOnly, Secure, SameSite 옵션 필요
  • 용량이 작음(대략 4KB) → 많은 데이터 저장 불가
  • 대안으로 세션(session) 과 함께 쓰거나, JWT, 토큰 기반 인증 방식도 사용됨.

 

 

 

 

Web Cache (Proxy Server)  : 클라이언트와 서버 사이에 위치하는 중간 저장소

 

자주 요청되는 웹 콘텐츠(HTML, 이미지, 동영상 등)를 임시로 저장(caching) 해서, 다음 요청 시 원 서버(origin server)가 아니라 캐시 서버에서 바로 제공. (ex. 회사 내부 프록시 서버, ISP(인터넷 서비스 제공업체) 캐시)

 

동작과정 

 

1. 클라이언트가 웹 페이지 요청 (예: GET /index.html)

2. 요청이 웹 캐시 서버에 도착

  2.1) 캐시에 해당 객체가 있으면(hit) 바로 응답 → origin server 까지 가지 않음

  2.2) 캐시에 없으면(miss) origin server 에 요청 → 받아온 응답을 캐시에 저장 → 클라이언트에 전달

3. 이후 다른 사용자가 같은 페이지 요청 시, 캐시에서 바로 제공

 

장점 

1. 지연 감소 : 캐시 서버가 가까운 곳에 있어서 응답 시간이 빨라진다.

2. 대역폭 절약 : 같은 리소스를 origin server에서 반복적으로 다운로드 하지 않아도 된다.

3. origin server 부하 감소 : 전 세계 CDN이 트래픽을 분산처리하고, 서버 과부하를 방지해준다.

 

단점

1. 데이터 신선도 문제 : 캐시된 데이터가 origin server의 최신 상태와 다를 수 있으며 이를 위해 캐시 만료 정책(TTL) 사용

2. 보안 이슈 : HTTPS 같은 암호화된 트래픽은 단순 캐싱이 어려우며, SSL/TLS Termination Proxy가 필요하다.

 

 

 

 

 

'CS > Computer Network' 카테고리의 다른 글

Network 기본  (2) 2025.08.27
Application Layer  (3) 2025.08.04