웹 서버 Session 저장

728x90

세션이란?

Session은 많은 의미로 사용되지만 이번 포스팅에서는 웹 브라우저 쿠키에 저장되던 값들을 웹 서버 측에 저장하는 메커니즘에 사용되는 Session을 말한다. 웹 브라우저는 세션 ID만 쿠키에 저장하고 실제 데이터는 웹 서버의 별도 저장소(DB)에 저장한다.

세션과 쿠키의 관계

세션을 사용한다고 해서 쿠키를 사용하지 않는 것은 아니다. 웹 브라우저는 어떤 세션에 속하는지 식별하기 위해 SESSION_ID를 쿠키에 저장한다. 웹 브라우저가 닫히면 세션 정보는 일정 시간 후 삭제되어 저장 공간을 효율적으로 관리한다.

세션 저장소와 Redis

세션 정보는 웹 서버 측에 저장되므로 빠른 데이터 접근이 중요하다. 특히 API 호출이 빈번한 경우 매번 세션 정보를 조회해야 하므로 성능에 큰 영향을 미칠 수 있다. 따라서 현업에서는 메모리 기반 DB인 Redis를 많이 사용한다.

Redis는 빠른 읽기/쓰기 속도를 제공하지만 메모리 사용량과 확장성 측면에서 비용 문제가 발생할 수 있다.

 

쿠키의 단점과 세션의 장점

특징 쿠키 세션
데이터 저장 위치 웹 브라우저 웹 서버
보안 취약 (HTTPOnly, Secure, SameSite로 방어) 안전
웹 브라우저 공유 불가능 가능
요청 크기 쿠키 정보량 증가 시 요청 크기 증가 영향 없음
데이터 접근 속도 빠름 저장소에 따라 다름
728x90

'WEB' 카테고리의 다른 글

Query Parameter와 Path Variable을 알아보자  (4) 2024.10.04
웹 보안을 위한 정책, CORS?  (0) 2024.08.27
HTTPS에 대해 알아보자  (2) 2024.08.27
웹 브라우저 Storage  (0) 2024.08.23
웹 브라우저 Cookie 알아보기  (0) 2024.08.23