코딩 쏙쏙

Session & Cookie 특징, 차이점 본문

[Dev_Study]

Session & Cookie 특징, 차이점

두두만두 2023. 4. 2. 23:05

1. Session & Cookie

Session과 Cookie의 차이점에 대해 알아 보고자 한다.

 

1-1. 세션(Session)

사용자의 여러 웹 사이트 페이지에 걸쳐 사용되는 정보를 저장하는 방법을 의미
사용자가 브라우저를  접속하여 닫아 서버와의 연결을 끝내는 시점까지를 말한다.
즉, 방문자가 웹 서버에 접속해 있는 상태를 하나의 단위로 보며 그것을 세션이라고 한다.

 

- 세션의 특징

1. 웹 서버에 웹 컨테이너의 상태를 유지하기 위한 정보를 저장한다.

2. 웹 서버의 저장되는 쿠키

3. 브라우저를 닫거나, 서버에서 세션을 삭제했을때만 삭제가 되므로, 쿠키보다 비교적 보안이 좋다.

4. 저장 데이터에 제한이 없다.

5. 각 클라이언트 고유 Session ID를 부여한다.

( Session ID로 클라이언트를 구분하여 각 클라이언트 요구에 맞는 서비스 제공 )

 

1-2. 쿠키(Cookie)

HTTP의 일종으로 사용자가 어떤 웹 사이트를 방문할 경우,
사용하고 있는 서버에서 사용자의 컴퓨터에 저장하는 작은 기록 정보 파일
필요시 정보를 참조하거나 #재사용 가능

 

- 쿠키의 특징

1. 이름, 값, 만료일(저장 기간 설정), 경로 정보로 구성되어 있다.

2. 클라이언트에 총 300개의 쿠키를 저장할 수 있다.

3. 하나의 도메인 당 20개의 쿠키를 가질 수 있다.

4. 하나의 쿠키는 4KB까지 저장 가능하다. (4KB를 이상은 X)

 

1-3. Session과 Cookie를 이용한 인증 Flow

 

- 사용자가 로그인을 하기 위해 인증 정보를 가지고 인증 과정을 요청
- 인증이 완료 되면 사용자의 Session 정보를 서버의 메모리에 저장 후 해당 Session을 식별할 수 있는 Session ID 발급
- 발급한 Session ID가 Cookie에 저장 되도록 HTTP Res-Header의 Set-Cookie 속성을 이용하여 사용자에게 전달
- 전달받은 Session ID는 브라우저의 Cookie에 저장 되고, Req를 서버에 보낼 때 함께 전달
- 서버는 사용자가 보낸 Session ID 와 서버 메모리에서 관리하는 Session ID를 비교하여 Verification을 수행 후 권한을 인가

 

 

'[Dev_Study]' 카테고리의 다른 글

[DB]트랜잭션(Transaction)  (0) 2023.05.02
인증(Authentication) & 인가, Session & Cookie  (0) 2023.04.02
개발 공부(2)_암호화의 종류  (0) 2023.04.02
2. router  (0) 2023.03.27
1. Layered  (0) 2023.03.27