세션(Session)
세션은 서버에서 클라이언트의 요청에 의한 응답을 저장해 관리하는 기술이다.
로그인 과정을 통해 설명을 해보자면,
쿠키도 세션도 없는 상태에서는 로그인 상태가 어딘가에 저장되어 있는 상태가 아니기에 새로고침이나 페이지 이동이 발생하게 되면 사라진다.
쿠키를 이용하면 클라이언트 측에 로그인 상태 값이 저장되는데, 이렇게 하면 특정 조건 외에는 값이 사라지지 않지만 탈취 등의 문제로 보안에 취약하다는 단점이 있다.
그렇기에 세션을 이용하는건데, 세션을 이용하는 방식은 로그인 상태가 서버에 세션으로 저장되고 클라이언트 측에는 세션id값만을 전달해 클라이언트 측에서는 쿠키에 이 값을 저장하고 이용하는 방식이다.
쉽게 비유하자면, 쿠키를 이용한 방식은 투명 봉투에 물건을 담는 것과 같고, 세션을 이용한 방식은 물건을 포장해서 투명봉투에 담는 것과 같다.
그렇기에 세션id(포장지 정보)만 가지고는 아무것도 할 수 없기 때문에, 보안 측에서 안전하다는 장점이 있지만, 사용자가 많아질수록 서버에 과부하가 걸릴 수 있다는 단점이 있다.
사용법은 따로 정리하겠다.
https://memo-code.tistory.com/47
[express] Session
세션(Session)세션에 대한 기본적인 이해는 되었으니 이제 사용법을 알아보겠다. 먼저, 두가지 라이브러리를 설치해야한다.npm i express-session session-file-store express-session : 세션을 사용하기 위한 라
memo-code.tistory.com