Session이란 무엇인가

Gyuri Kim·2023년 4월 11일
1

cs

목록 보기
3/7

Session

✅ 세션이란?

  • 클라이언트로부터 오는 일련의 요청을 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술
  • 클라이언트가 웹 서버에 접속해있는 상태가 하나의 단위

세션은 웹서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장합니다. 브라우저를 닫거나 서버에서 세션을 삭제하면 세션이 삭제됩니다. 세션은 각 클라이언트의 고유세션 ID를 부여하는데, 이것으로 클라이언트를 구분하여 각 클라이언트의 요구에 맞는 응답을 반환합니다.

✅ 세션 동작순서

1) 클라이언트 요청

2) Request-Header 필드의 Cookie 에서 세션ID를 보냈는지 확인

3) 세션ID가 없을 경우, 서버에서 생성하여 클라이언트에게 전송

4) 쿠키를 사용해 세션ID를 서버에 저장

5) 클라이언트 재접속 시, 쿠키를 이용하여 세션ID 값을 서버에 전달

✅ 쿠키와 세션 차이

구분쿠키  Cookie세션 Session
저장위치클라이언트서버
라이프사이클(만료시점)쿠키 저장시 설정브라우저 종료 시 삭제
보안비교적 취약안전
속도빠름비교적 느림

쿠키는 브라우저 종료 시 삭제되는 세션과 달리 쿠키 저장시 만료시점을 저장하여 브라우저가 종료되더라도 자동 삭제되지 않습니다. 즉, 만료시점이 지나야 쿠키가 삭제되는 것 입니다. 세션은 서버에 저장되므로 안전한 반면, 쿠키는 로컬에 저장되어 탈취,변조 위험이 존재합니다. 이러한 세션은 보안에 취약한 쿠키를 보완해주는 역할을 하고 있습니다.

하지만 세션은 제공받은 세션Id를 이용해서 서버에서 다시 데이터를 참조해야 하므로 쿠키에 비해 느립니다.

profile
👩‍💻 IT Engineering (이사 전 블로그 : https://blog.naver.com/kgr2626 )

1개의 댓글

comment-user-thumbnail
2023년 4월 27일

글 잘 읽었습니다!
그러면 세션을 사용하기 위해서는 쿠키를 무조건 같이 사용해야 되나요?

답글 달기