HTTP 프로토콜 두가지 특징
- 무상태(Stateless) : 서버는 클라이언트의 상태를 보존하지 않는다(클라이언트의 상태를 모른다)
- 비연결성(Connectionless) : 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어 버린다.
을 보충하여 상태를 계속 유지하기 위해 위해 사용하는 기능
쿠키
- 쿠키는 웹사이트 접속시 접속자의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 텍스트 파일
- 클라이언트의 상태 정보를 로컬에 저장했다가, 요청할 때 참조된다.
- 세션 관리(Session management)서버에 저장해야 할 로그인, 장바구니, 게임 스코어 등의 정보
- 관리개인화(Personalization)사용자 선호, 테마 등의 세팅
- 트래킹(Tracking)사용자 행동을 기록하고 분석하는 용도
쿠키의 종류
- session쿠키
- 현재 세션이 끝날 때 삭제된다. 브라우저는 '현재 세션'이 끝나는 시점을 정의한다.
(어떤 브라우저들은 재시작할 때 세션을 복원해 세션 쿠키가 무기한 존재할 수 있도록 한다.)
- persistent쿠키
- Expires 속성에 명시된 날짜에 삭제되거나, Max-Age 속성에 명시된 기간 이후에 삭제된다
세션
웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장 하는 것
일정 시간동안 같은 사용자(브라우저)로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 일정하게 유지시키는 기술
쿠키를 기반, 사용자 정보 파일을 쿠키와 달리 서버 측에서 관리(사용자에 대한 정보를 서버에 두기 때문에 쿠키보다 보안에 좋다.)
서버에서는 클라이언트를 구분하기 위해 세션 ID를 부여하며 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증상태를 유지
세션 ID : 클라이언트가 Request를 보내면, 해당 서버의 엔진이 클라이언트에게 부여하는 유일한 ID
사용자가 많아질수록 서버 메모리를 많이 차지하게 됩니다(성능 저하의 원인) => 토큰 활용
세션 설정중 오류 해결(Destory가 안될때)
'코딩 > expressJs' 카테고리의 다른 글
퍼펫티어와 cheerio 간단하게 익히기 : 스크래핑을 해보자 (0) | 2022.06.29 |
---|---|
JWT 사용 정리 (0) | 2022.05.03 |
Sequelize를 적용해보자(진행중) (0) | 2022.04.04 |
Nginx에서 reverse proxy 설정중 문제(해결중) (0) | 2022.03.20 |
expressjs의 mergeParams 사용해보기(매우 간단) (0) | 2022.02.03 |