개요

세션이란 서버가 해당 서버로 접근한 클라이언트를 식별하는 방법을 말한다. 서버는 접근한 클라이언트에게 쿠키를 설정하는 방식으로 클라이언트 식별자인 session-id (임의의 긴 문자열)을 발행한다. 서버로부터 발행된 session-id는 해당 서버와 클라이언트메모리에 저장된다. 나중에 클라이언트는 위에서 부여받은 session-id를 이용하여 서버와 지속적인 통신을 도모한다.

장점

  1. 기본적으로 쿠키를 매개로 인증을 거치기 때문에 쿠키가 담긴 HTTP 요청이 노출되어도 유의미한 값을 제공하지 않는다.
  2. 사용자를 구분하여 효과적으로 서버 자원에 접근 가능하다.

단점

  1. 세션하이잭킹 (중간에 세션이 담긴 정보를 탈취하여 나중에 그 정보로 계속 로그인 시도를 하는 해킹 방법) 에 취약하다.
  2. 서버에 자원을 저장하는 방식이기 때문에 추가적인 저장공간을 필요로 한다.