TIL 89일차

Moon-Tree·2023년 5월 9일
0

◆ 쿠키(cookie)

  • 쿠키는 클라이언트 측에서 상태 정보를 저장하는 작은 데이터 조각입니다.
  • 클라이언트의 웹 브라우저에 저장되며, 클라이언트 요청 시 서버로 전송됩니다.
  • 다른 사이트에서 발행한 쿠키는 사용할 수 없으며, 도메인과 경로에 의해 제한됩니다.
  • 쿠키는 클라이언트의 로컬에 저장되기 때문에 서버 측에 저장할 필요가 없어서 서버 부하를 줄일 수 있습니다.
  • 쿠키는 특정 기능으로 발생한 경우에만 해당 기능에서 사용할 수 있도록 제한할 수 있습니다.

◆ 세션 쿠키

  • 세션 쿠키는 서버 측에서 세션 정보를 저장하는 쿠키입니다.
  • 세션 쿠키는 클라이언트의 브라우저에서 생성되며, 클라이언트와 서버 간의 세션 식별자를 포함합니다.
  • 일반적으로 세션 쿠키는 브라우저가 닫히면 쿠키도 삭제되며, 유효 기간을 설정할 경우 해당 시간이 만료되기 전까지는 브라우저 세션이 유지됩니다.
  • 세션 쿠키를 사용하면 클라이언트의 세션 상태를 유지할 수 있으며, 사용자 인증 정보 등을 저장하여 세션에 접속하는 사용자를 식별할 수 있습니다.

◆ 쿠키(cookie)와 세션 쿠키의 차이점

  1. 지속성
    1) 쿠키는 설정된 유효 기간에 따라 저장되고 유지될 수 있습니다. 쿠키에 유효 기간을 설정하지 않으면 브라우저를 닫거나 세션을 종료할 때 쿠키는 삭제됩니다. 유효 기간이 설정된 경우 해당 기간 동안은 쿠키가 유지되며, 브라우저를 닫아도 삭제되지 않습니다. 이러한 쿠키는 영구 쿠키 또는 지속 쿠키라고도 알려져 있습니다.

    2) 세션 쿠키는 브라우저 세션 동안만 유지되며, 브라우저가 닫히면 삭제됩니다. 세션 쿠키는 일회성 로그인 세션 등에 사용됩니다. 세션 쿠키는 일반적으로 유효 기간을 설정하지 않고, 브라우저 세션이 유지되는 동안에만 존재합니다.

  2. 서버와의 관련성 : 쿠키는 클라이언트와 서버 간에 데이터를 주고받을 수 있습니다. 클라이언트는 쿠키를 요청 헤더에 포함하여 서버로 전송하고, 서버는 쿠키를 생성하여 클라이언트에게 전달합니다. 세션 쿠키는 주로 서버 측에서 관리되며, 클라이언트에게 세션 식별자를 부여하여 서버에서 해당 세션 정보를 유지합니다.

  3. 용도 : 쿠키는 클라이언트 상태를 유지하거나 개인화된 사용자 경험을 제공하기 위해 사용됩니다. 예를 들어, 로그인 정보, 사용자 설정, 장바구니 등을 쿠키에 저장하여 필요한 정보를 유지할 수 있습니다. 세션 쿠키는 주로 사용자의 인증 상태를 유지하기 위해 사용됩니다. 로그인 후에 발급된 세션 쿠키는 클라이언트가 서버로 요청을 보낼 때마다 서버에서 해당 세션 정보를 확인하고 인증 상태를 유지합니다.

  4. 보안 : 쿠키는 클라이언트에 저장되기 때문에 보안에 취약할 수 있습니다. 중요한 정보를 쿠키에 저장할 경우, 암호화 및 보안 조치를 적용해야 합니다. 세션 쿠키는 서버 측에서 관리되므로 상대적으로 안전하며, 중요한 정보는 서버 측에서 처리됩니다.

  5. 활용 범위
    1) 쿠키의 활용 범위는 도메인과 경로 설정에 따라 결정됩니다. 쿠키를 특정 도메인과 경로에 설정하면 해당 도메인과 경로에 접근하는 모든 요청에 쿠키가 포함될 수 있습니다. 예를 들어, 쿠키를 example.com 도메인에 설정하고 /products 경로로 제한한다면, example.com/products/* 경로로 요청이 발생할 때만 쿠키가 포함될 것입니다.

    2) 세션 쿠키는 해당 도메인 내에서만 유효하며, 도메인 간에는 공유되지 않습니다. 따라서, 세션 쿠키는 도메인 내에서 사용자의 세션을 유지하고 추적하기 위해 사용됩니다. 세션 쿠키는 보통 인증 정보나 임시 데이터를 저장하는 데에 활용되며, 도메인 간에는 공유되지 않아 다른 도메인에서는 해당 세션 쿠키에 접근할 수 없습니다.


  • session.invalidate(); 으로 작성하면 세션이 전부 사라진다.
profile
Backend Developer

0개의 댓글