일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 조인
- full
- inner
- math함수
- 회고록
- Join
- 보안 그룹 규칙
- graphql
- 1차 프로젝트
- JavaScript
- nestjs
- 온라인 컨퍼런스
- then
- Git
- 6ixsense
- EC2
- GitHub
- increment
- aws
- Branch
- AWSOME DAY
- MySQL
- typescript
- 트랜잭션
- docker
- 위코드
- Merge
- INCENSE
- 콜백함수
- PlaceHolder
- Today
- Total
코딩 쏙쏙
Session & Cookie 특징, 차이점 본문
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 |