CS 과제 정리
[CS] HTTP 쿠키와 세션: 웹의 기초
thisnorm
2025. 1. 21. 21:42
웹 애플리케이션에서 사용자 경험을 개선하고 상호작용을 가능하게 하는 두 가지 중요하나 요소는
HTTP 쿠키(Cookie)와 HTTP 세션(Session) 이다. 이들은 각각 상태 정보를 관리하고
클라이언트-서버 간의 통신을 담당한다.
1. 쿠키 (Cookie)
1-1. 쿠키의 정의 및 특징
HTTP 쿠키는 서버가 사용자의 웹 브라우저에 전송하는 작은 데이터 조각으로, 사용자가 동일한 서버에 재요청할 때 저장된 데이터를 함께 전송합니다. 이를 통해 사용자의 로그인 상태를 유지하고, 상태가 없는 HTTP 프로토콜에서 상태 정보를 기억할 수 있게 한다.
1-2. 주요 목적
- 세션 관리: 로그인 정보, 장바구니 내용 등을 관리하여 사용자가 웹사이트를 탐색하는 동안 상태를 유지한다.
- 개인화: 사용자의 선호도나 테마 설정을 저장하여 맞춤형 경험을 제공한다.
- 트래킹: 사용자의 행동을 기록하고 분석해 마케팅 및 사용자 경험 개선에 활용된다.
1-3. 쿠키의 라이프타임
- 세션 쿠키: 현재 세션이 끝날 때 삭제된다.
- 영속적인 쿠키: 특정 날짜나 기간 후에 삭제된다.
1-4. 쿠키의 속성과 보안
- Secure: HTTPS 프로토콜을 통해서만 쿠키가 전송된다.
- HttpOnly: JavaScript의 접근을 제한해 XSS 공격으로부터 보호한다.
1-5. 장점과 단점
- 장점: 로그인 상태 유지, 개인화된 콘텐츠 제공
- 단점: 보안 취약점, 사용자 프라이버시 문제 발생
2. 세션 (Session)
2-1. 세션의 정의 및 특징
HTTP 세션은 클라이언트와 서버 간의 통신 과정으로, 클라이언트가 TCP 연결을 수립하고 요청을 전송한 후 서버가 이를 처리하여 응답하는 일련의 과정을 의미한다.
2-2. 주요 특징
- TCP 연결 수립: 클라이언트는 서버와의 통신을 위해 TCP 연결을 수립한다.
- 요청 및 응답 과정: 클라이언트가 요청을 보내고 서버가 응답한다.
2-3. 장점과 단점
- 장점: 효율적인 데이터 전송, 성능 향상
- 단점: 서버 리소스 소모, 애플리케이션 복잡성 증가
2-4. 예시
사용자가 웹사이트에 로그인할 때, 세션을 통해 사용자의 로그인 상태를 유지하고 이후 페이지 요청 시 추가 인증 없이 페이지를 제공한다.
결론
HTTP 쿠키와 세션은 웹 애플리케이션에서 사용자 경험을 개선하는 핵심 요소입니다. 이들의 적절한 사용과 관리가 필요합니다.