일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다. 여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.

 

세션 특징

웹 서버에 클라이언트의 정보를 저장한다.

웹 서버의 저장되는 쿠키(=세션 쿠키)

브라우저를 닫거나, 서버에서 세션을 삭제했을 때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.

각 클라이언트에 고유 Session ID를 부여한다. 

 

세션의 동작 방식

클라이언트가 서버에 로그인 요청을 한다.

서버는 로그인 요청의 유효성을 확인하고 session-id를 response 헤더에 추가하여 응답한다.

클라이언트는 session-id를 저장해놓고 추후 재요청시 포함하여 사용한다.

 

사용 예시

다른 화면으로 이동해도 로그아웃이 되지않고 로그아웃하기 전까지 유지된다.

 

 

쿠키와 세션 차이점

 

저장위치

  - 쿠키는 클라이언트, 세션은 서버에 저장

 

보안

 - 쿠키는 클라이언트 로컬에 저장되기 때문에 변질되거나 request에서 스니핑 당할 우려가 있어서 보안에 취약하지만 세션은 쿠키를 이용해서 session-id만 저장하고 그것으로 구분하여 서버에서 처리하기 때문에 비교적 보안성이 높다.


라이프사이클

 - 쿠키는 브라우저를 종료해도 파일로 남아있지만, 세션은 브라우저 종료되면 만료기간과는 상관 없이 삭제한다.

속도

 - 쿠키가 우세하다. 쿠키는 파일에서 읽고, 세션은 요청마다 서버에서 세션 저장소에서 찾아서 처리해야 한다.

 

 

'IT > general' 카테고리의 다른 글

[네트워크] 쿠키?  (0) 2022.02.09
[UUID] Universally Unique Identifiers - 범용 고유 식별자  (0) 2022.02.09
로깅(Logging)?  (0) 2021.12.14
SSL(Secure Sockets Layer)  (0) 2021.12.07
[방화벽] 기본 포트 차단  (0) 2021.11.22

+ Recent posts