본문 바로가기
Dev/Ect

세션이란? What is a Session?

by yeonise 2022. 8. 3.

1. 세션이란?

'클라이언트가 웹 브라우저를 통해 서버에 접속한 후 용무를 처리하고 웹 브라우저를 닫아 서버와의 접속을 종료하는 하나의 단위'를 세션이라고 한다. 즉, 세션은 클라이언트가 서버에 접속해 있는 동안 그 상태를 유지하는 것이 목적이다.

 

 

2. 동작 메커니즘

  1. 클라이언트가 페이지를 요청한다.
  2. 서버는 접근한 클라이언트의 Request-Header 필드의 Cookie를 확인하여 클라이언트가 해당 session-id를 보냈는지 확인한다.
  3. session-id가 존재하지 않는다면 서버는 session-id를 생성해 클라이언트에게 돌려준다.
  4. 서버에서 클라이언트로 넘겨준 session-id를 쿠키를 사용해 서버에 저장한다.
  5. 클라이언트는 재접속 시, 쿠키를 사용하여 session-id 값을 서버에 전달한다.

 

 

3. 사용하는 이유

세션은 저장 데이터에 제한이 없고, 서버에서 세션을 삭제할 경우에만 제거되므로 쿠키보다 보안이 좋다. 또한 각 클라이언트에 고유 Session ID를 부여하기 때문에 Session ID로 클라이언트를 구분하여 각 클라이언트 요구에 맞는 서비스를 제공할 수 있다.

 

 

4. 사용 예시

  • 화면을 이동해도 로그인이 풀리지 않고 로그아웃하기 전까지 유지

 

 

5. Cookie와 Session의 비교

  쿠키 세션
저장 위치 클라이언트 웹 서버
저장 형식 Text Object
만료 시점 쿠키 저장시 설정
(브라우저가 종료되어도 만료 시점이 지나지 않으면 자동 삭제되지 않는다)
브라우저 종료시 삭제
(기간을 지정할 수 있다)
사용하는 자원 클라이언트 리소스 웹 서버 리소스
용량 제한 총 3000개
하나의 쿠키 당 4KB
하나의 호스트나 도메인에서 최대 50개
서버가 허용하는 한 용량에 제한이 없다
속도 세션보다 빠르다 쿠키보다 느리다
보안 세션보다 안좋다 쿠키보다 좋다

 

 

 

reference 99C0RN

 

 

 

관련 이전 글

 

쿠키란? What is Cookie?

1. 쿠키란? 쿠키는 클라이언트의 상태 정보를 유지하기 위한 기술이다. 상태 정보를 클라이언트에 키와 값 형태로 저장했다가 다음 요청 시 저장된 쿠키를 함께 전송한다. 그러면 웹 서버는 브라

jamstorage.tistory.com

 

댓글