일정 시간 동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지시키는 기술이다. 여기서 일정 시간은 방문자가 웹 브라우저를 통해 웹 서버에 접속한 시점부터 웹 브라우저를 종료하여 연결을 끝내는 시점을 말한다.
세션 특징
웹 서버에 클라이언트의 정보를 저장한다.
웹 서버의 저장되는 쿠키(=세션 쿠키)
브라우저를 닫거나, 서버에서 세션을 삭제했을 때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.
각 클라이언트에 고유 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 |