HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🚀
개발 노트
/
🏠
쿠키와 세션2: 세션
🏠

쿠키와 세션2: 세션

 

세션이란

  • 세션은 쿠키에 기반함. 단, 유저의 정보 파일을 서버에서 관리.
  • 서버에서는 클라이언트를 구분하기 위해 세션 ID를 부여함.
    • 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증 상태 유지.
      (접속 시간 제한 가능)
  • 사용자에 대한 정보를 서버에 두기 때문에 쿠키보다 보안이 좋음.
    • 로그인과 같이 보안상 중요한 작업을 수행할 때 사용.
  • 서버의 자원을 사용하므로 서버에 부담을 주며,
    • 동접자 수가 많은 경우 과부하를 주어 성능 저하의 요인이 됨.
 

세션의 동작 방식

  1. 클라이언트가 서버에 접속 시 세션 ID를 발급 받음
  1. 클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장하고 있음
  1. 클라이언트는 서버에 요청할 때, 이 쿠키의 세션 ID를 서버에 같이 전달해서 요청
  1. 서버는 세션 ID를 전달받아서, 세션에 있는 클라이언트 정보를 가져와서 사용
  1. 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답
 

쿠키 VS 세션

  • 쿠키와 세션은 비슷한 역할을 하며, 동작원리도 유사.
    • 세션도 결국은 쿠키를 사용하는 방식임.
  • 가장 큰 차이점은 사용자의 정보가 저장되는 위치.
    • 쿠키는 웹 브라우저, 세션은 서버.
  • 보안 면에서 세션이 더 우수함.
  • 요청 속도는 쿠키가 세션보다 더 빠름. (세션은 서버의 처리가 필요하기 때문)
  • 라이프 사이클
    • 쿠키는 만료시간이 있지만
      • 파일로 저장되므로 브라우저 종료 후에도 계속 정보가 남아 있을 수 있음
    • 세션도 만료시간을 정할 수 있지만 브라우저가 종료되면 만료시간에 상관없이 삭제됨
  • 세션은 서버의 자원을 사용하기 때문에 무분별하게 사용하면
    • 서버의 부담이 커질 수 있어 쿠키가 유리한 경우가 존재
 
notion image
 
쿠키로 노출시켜서는 안 될 정보들이 있고,
세션을 많이 사용하면 서버에 부담을 주기 때문에
쿠키에 저장할 정보와, 세션에 저장할 정보를 구별하고 판단할 수 있어야 한다.
 

참고 자료

[web] 쿠키(cookie)와 세션(session)의 개념/차이/용도/작동방식
쿠키와 세션을 이해하기 위해서는 먼저 http의 특징에 대해 이해하면 도움이 됩니다. HTTP(Hypertext Transfer Protocol)는 인터넷상에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 통신규약을 말합니다. 이 HTTP 프로토콜에는 비연결성(Connectionless)과 비상태성(Stateless)이 라는 특징이 있습니다. 이는 서버의 자원을 절약하기 위해 모든 사용자의 요청마다 연결과 해제의 과정을 거치기 때문에 연결 상태가 유지되지 않고, 연결 해제 후에 상태 정보가 저장되지 않는다는 것입니다.
[web] 쿠키(cookie)와 세션(session)의 개념/차이/용도/작동방식
https://devuna.tistory.com/23
[web] 쿠키(cookie)와 세션(session)의 개념/차이/용도/작동방식
쿠키와 세션 개념
노션 페이지(아래 내용과 동일) 쿠키와 세션은 개발자 말고도 인터넷 사용자라면 누구나 많이 들어본 단어입니다. 하지만 개념에 대해서는 많은 사람들이 헷갈려 하기에 쉽고 간단하게 정리해보려고 합니다. 일단 쿠키를 발급받고 사용하는 과정에 대해서 그림으로 보여드리고, 쿠키와 세션에 대한 설명을 하도록 하겠습니다. 1. HTTP의 특징과 쿠키와 세션을 사용하는 이유 2. 쿠키 ( Cookie ) 3.
쿠키와 세션 개념
https://interconnection.tistory.com/74
쿠키와 세션 개념