2019-12-24 TIL
December 24, 2019
MemoryStore를 사용한 세션관리
Web application은 로그인 인증용도로 세션을 사용한다. Express는 메모리상에 Session data를 저장할 수 있다.
1. HTTP Stateless Protocol
- http는 상태를 유지하지 않는다. 요청을 전송하고 응답을 받은 시점에 통신이 종료된다. 따라서 하나의 클라이언트가 서버에 반복접속 하여도 각각의 접속은 독립적인 트랜잭션으로 취급된다. 로그인 상태를 유지할 수 없으므로 인증 과정을 반복해야 하는 문제가 발생한다.
2. Session & Cookie
- http의 Stateless 문제를 보완하기 위한 논리적 연결 방법으로 Session과 Cookie가 있다.
Cookie
- 쿠키는 웹서버가 브라우저를 통해 클라이언트에 일시적으로 데이터를 저장하는 방식을 의미한다.
- 웹서버에 접속한 클라이언트 정보를 쿠키에 기입한 후 클라이언트에 저장하면 이후 웹서버에 전송되는 요청에 쿠키내의 정보가 같이 전송되는 방식이다.
- 이전 접속한 URL과 다른 URL에서는 쿠키를 사용할 수 없다. ex) www.google.com의 쿠키는 www.naver.com에서 사용할 수 없음
- 쿠키는 클라이언트(브라우저)에 저장된 작은 조각의 텍스트 파일로서 세션에 비해 보안이 취약하다. 따라서 아이디와 비밀번호를 쿠키에 저장하는 방식은 피하자
Session
- 웹서버에 접속되어 있는 상태를 의미한다. 브라우저를 통해 서버에 접속한 뒤 접속을 종료하는 시점까지를 세션이라고 한다.
- 세션은 최초 접속 시점에 생성되어 일정 기간 유지되며 접속이 종료되먄(브라우저 종료) 삭제된다.
- 쿠키와 달리 세션은 서버에 저장된다. 따라서 클라이언트에 저장되는 쿠키보다 안전하다
Cookie-Based Session
- 쿠키에는 Session ID만 저장하고 전송된 Session ID를 사용하여 Session에 저장된 정보를 사용하는 방법.
5FS
Facts
- 로그인에 세션,쿠키 적용중
- 웹을 지탱하는 기술 170p까지 읽음
- 프린터, 시저암호 알고리즘풀이
Feelings
- 프린터와 시저암호 알고리즘 풀이를 보는데 생각지도 못한 방식으로 풀어놓은 코드들이 많아서 당황스럽다. 좌절..
Findings
Future Action Plan
Feedback