국비지원 공부 정리/네트워크 공통

Cookie, Session

worldstroy 2025. 3. 27. 14:39

Cookie

• 웹 브라우저(클라이언트) 에 저장되는 키와 값이 들어있는 작은 데이터 파일
• 이름, 값, 만료일, 경로 정보로 구성되어 있다.

 

Cookie의 동작 방식

1. 클라이언트가 페이지를 요청함
2. 서버에서 쿠키를 생성함
3. HTTP 헤더에 쿠키를 포함시켜 응답을 전달함
4. 브라우저가 종료되어도 쿠키 만료 기간이 있다면 클라이언트에 보관해둠
5. 같은 요청을 할 경우 HTTP 헤더에 쿠키를 함께 저장하여 전달함
6. 서버에서 쿠키를 읽어 이전 상태 정보를 변경할 필요가 있을 때 쿠키를 업데이트하여 변경된 쿠키를 HTTP 헤더에 포함시켜서 응답을 전달함

 

express에서의 Cookie 사용하기

1. Cookie를 사용하기 위해 관련 npm을 설치한다.
npm intall cookie-parser
2. require 명령어를 이용해서 app.js에서 cookie 설정을 불어온다.
const cookieParser = require(' cookie-parser ');
app.use(cookieParser());
3. 실제 생성해야 할 타이밍에 쿠키를 서버에 저장
res.cookie('쿠키이름', '쿠키 값', '옵션객체');

 


Session 이란?

• 웹 서버에 저장되는 쿠키
• 사용자가 웹 브라우저를 통해 접속한 시점부터 연결을 끝내는 시점까지의 시간 동안 일련의 요구를 하나의 상태로 보고 그 상태를 유지 시킨다.

 

 

Session의 동작 방식

1. 클라이언트가 서버에 접속 시 세션 ID를 발급받는다.
2. 클라이언트는 세션 ID에 대해 쿠키를 사용하여 저장하여 가지고 있는다.
3. 클라이언트는 서버에 요청할 때 이 쿠키의 세션 ID를 서버에 전달해서 사용한다.
4. 서버는 세션 ID를 전달받아서 별다른 작업 없이 세션 ID로 세션에 있는 클라이언트 정보를 가지고 온다.
5. 클라이언트 정보를 가지고 서버 요청을 처리하여 클라이언트에게 응답한다.

 

 

express에서의 Session 사용하기

1. Session을 사용하기 위해 관련 npm을 설치한다.
npm intall express-session
2. require 명령어를 이용해서 app.js에서 cookie 설정을 불어온다.
const session = require(' express-session  ');
app.use( session(옵션객체));
3. 실제 생성해야 할 타이밍에 쿠키를 서버에 저장
req.session.id = req.body.id(넘겨받은 값);

 

'국비지원 공부 정리 > 네트워크 공통' 카테고리의 다른 글

Socket.io의 기본적 사용법  (0) 2025.03.29
TCP/IP 와 WebSoket  (0) 2025.03.29
데이터 암호화란?  (0) 2025.03.29
서버구축  (0) 2025.03.28
환경변수?  (0) 2025.03.28