[ Browser ] 쿠키(Cookie), 세션(Session), 웹 스토리지(Web Storage)의 차이

이준혁·2024년 1월 29일
0

  1. 쿠키(Cookie):

    • 용도: 클라이언트 측에서 작은 데이터 조각을 저장하여 서버와의 통신에 사용.
    • 크기 제한: 보통 4KB로 제한되어 있음.
    • 유지 기간: 만료 기간을 설정할 수 있어 일정 기간 동안 유지됨.
    • 전송: 모든 HTTP 요청에 자동으로 포함되어 서버로 전송됨.
    • 보안: 보안에 취약하며, 민감한 정보는 저장하지 않는 것이 좋음.
    • API: Document.cookie를 통해 조작.
  2. 세션(Session):

    • 용도: 클라이언트와 서버 간의 정보를 저장하여 상태를 유지.
    • 크기 제한: 제한 없음. 서버 측에서 관리되므로 클라이언트 측에 직접 저장되지 않음.
    • 유지 기간: 브라우저 세션이 유지되는 동안만 유효. 브라우저 종료 시 삭제.
    • 전송: 쿠키를 사용하여 세션 ID를 전송하고, 서버에서 해당 ID로 세션 정보를 관리.
    • 보안: 쿠키보다는 안전하지만, 적절한 보안 조치가 필요.
    • API: 서버 측에서 세션을 관리하는 서버 사이드 언어의 API.
  3. 웹 스토리지(Web Storage):

    • 용도: 클라이언트 측에서 대량의 데이터를 키-값 쌍으로 저장.
    • 크기 제한: 보통 5MB로 브라우저마다 다를 수 있음.
    • 유지 기간: 로컬 스토리지는 수동으로 삭제하기 전까지 영구적으로 유지됨.
    • 전송: 모든 HTTP 요청에 자동으로 포함되지 않음. 개발자가 명시적으로 데이터를 전송해야 함.
    • 보안: 브라우저에 의해 제한적으로 관리되며, 도메인 단위로 분리되어 있어 다른 도메인의 스토리지에 접근 불가능.
    • API: localStoragesessionStorage를 통해 조작.

쿠키, 세션, 웹 스토리지 선택 시 고려 사항:

  • 용도 및 필요한 기능에 따라 선택: 데이터 규모, 지속 기간, 보안 수준 등을 고려하여 선택.
  • 보안 고려: 민감한 정보의 경우 서버 측 세션 또는 다른 안전한 수단을 활용.
  • 전송 및 성능: 불필요한 데이터를 계속 전송하지 않도록 주의.
  • 브라우저 호환성: 특정 브라우저에서 제공하는 스토리지의 특성을 고려.

이러한 차이점을 고려하여 웹 애플리케이션에서 적절한 저장 방식을 선택하는 것이 중요합니다.

0개의 댓글

관련 채용 정보