개요
세션이란 서버가 해당 서버로 접근한 클라이언트를 식별하는 방법을 말한다. 서버는 접근한 클라이언트에게 쿠키를 설정하는 방식으로 클라이언트 식별자인 session-id (임의의 긴 문자열)을 발행한다. 서버로부터 발행된 session-id는 해당 서버와 클라이언트메모리에 저장된다. 나중에 클라이언트는 위에서 부여받은 session-id를 이용하여 서버와 지속적인 통신을 도모한다.
장점
- 기본적으로 쿠키를 매개로 인증을 거치기 때문에 쿠키가 담긴 HTTP 요청이 노출되어도 유의미한 값을 제공하지 않는다.
- 사용자를 구분하여 효과적으로 서버 자원에 접근 가능하다.
단점
- 세션하이잭킹 (중간에 세션이 담긴 정보를 탈취하여 나중에 그 정보로 계속 로그인 시도를 하는 해킹 방법) 에 취약하다.
- 서버에 자원을 저장하는 방식이기 때문에 추가적인 저장공간을 필요로 한다.