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 |