괴발개발 성장기

Study/개념공부

세션과 쿠키 동작원리 및 쿠키, 세션 정의

지니유 2021. 12. 26. 22:41
반응형

# 세션과 쿠키를 이용한 권한의 기본적인 동작

1) 로그인을 통하여 Id와 비밀번호를 서버로 보낸다.
2) 세션을 만든다(SessionId, UserId, Timeout, Authorization)
3) 쿠키안에 SessionId 넣어서 클라이언트에 보낸다.
4) 페이지 이동할 때마다 서버에 쿠키를 보내준다
5) 쿠키안에 있는 SessionId로 서버안에 있는 RAM에서 세션을 찾는다.
6) SessionId가 있으면 Timeout를 업데이트 해주고 권한에 맞는 페이지를 클라이언트로 보내준다.

# 로드밸런서 서버를 통하여 프로세스 확장

로드밸런서 서버를 통하여 세션서버를 찾는다.
1번에서 발급받고 1번이 아닌곳에 가면 로그아웃처리간다.
그래서 로드밸러스가 하나 유저를 계속 같은 곳으로 갈 수 있게 해야한다.

 

# 세션 DB를 따로 만드는 방법

세션 DB를 따로 만들어서 어떤 서비스여도 세션 DB를 통하여 찾을 수 있다.
이 때 문제점은 DB 몰린다는 점이다. 그래서 세션DB를 여러개 만들어줘야한다. 점점 복잡한 방법이 된다.
이런 문제점을 해결하기 위해서 JWT가 나왔다.

 

# 세션

중요한 정보를 서버의 메모리나 DB에 저장한 후 기한이 짧은 임시의 키를 브라우저에 보낸다.

 

# 쿠키

서버에서 받은 임시의 키를 가지고 있는 곳이다. 그래서 페이지를 이동할 때마다 로그인 대신 쿠키를 통하여 내 정보를 확인한다. 

쿠키는 내가 임의로 수정이 가능하고 남이 볼 수 있다는문제점이 있다.

 

# 참고

https://youtu.be/cWUtMHTKdj0

https://youtu.be/OpoVuwxGRDI

반응형

'Study > 개념공부' 카테고리의 다른 글

[개념정리] API  (0) 2022.11.18
[개념공부] controller, service, repository, dto, entity 등 무엇인가?  (0) 2022.08.25
[개념] enum이 무엇일까?  (0) 2022.07.22
배포 관련 용어  (0) 2021.01.16
클라이언트-서버 공부  (0) 2021.01.16