반응형
쿠키에 이어서 오늘은 세션에 대해서 알아볼게요!
2021.05.02 - [서비스 기획] - 알아두면 좋은 개발 용어 4 (쿠키)
쿠키와 세션의 차이는 사용자 정보를 클라이언트가 저장하느냐, 서버가 저장하느냐, 일 수 있어요. 물론 자세히 알아보면 이렇게 간단하지 않겠지만요.
세션(Session)
- 개요
- 세션은 쿠키를 기반하고 있지만, 서버 측에서 관리함
- 서버에서 클라이언트를 구분하기 위해서 세션ID를 부여하며 클라이언트당 1개씩 생성되어 웹컨테이너에 저장됨
- 클라이언트가 접속을 종료할 때까지 인증상태를 유지하고, 접속 시간에 제한을 두어 응답이 없다면 정보를 유지 않게 설정 가능 (참고, 로그아웃 하면 새로운 사용자 인식함)
- 동작 방식
- 클라이언트가 서버 요청
- 클라이언트가 서버 접속 시 서버는 쿠키 및 세션ID 발급
- 서버는 응답 전달 시 세션ID를 포함하여 쿠키 전달
- 클라이언트는 쿠키 저장
- 클라이언트는 서버에 요청할 때 세션ID를 서버에 전달하여 사용
- 서버는 클라이언트가 전달해준 세션ID를 가지고 서버 메모리에 사용자 정보 확인
- 서버 요청에 대한 응답 처리
- 특징
- 각 클라이언트에서 고유한 세션ID로 클라이언트의 요구에 맞게 서비스 제공 ( 예시 : 보안이 중요한 로그인의 경우 사용 )
- 사용자 정보를 서버에 두어 보안면에서는 쿠키보다 우수하나 사용자가 많아질수록 서버 메모리를 많이 차지하게 됨
- 동접자수가 많은 웹 사이트인 경우 서버 과부하를 주어 성능저하의 요인이 됨
쿠키와 세션이 조금 헷갈리시나요?
다시 기존의 예시인 식당 주문으로 돌아가 보겠습니다.
쿠키 설명할 때 내 주문정보가 남아있는 것이 바로 쿠키라고 말씀드렸는데, 식당에 가면 보통 손님을 구분하는 게 테이블 번호가 있잖아요. 그것을 세션이라고 생각하시면 됩니다. 세션은 손님이 앉자마자 발급되는 유니크한 키이고, 손님을 구분하는 값입니다. 그 구분하는 값 아래 내가 주문한 정보가 남아 있습니다. 물론 서버와 클라이언트 동작이 이렇게 동일하게 동작하지 않을 수 있지만, 이렇게 하면 좀 더 쉽게 이해가 되지 않을까 싶어서요.
이상입니다.
다음에는 뭘 써야 하나 생각해보겠습니다.
참고 :
쿠키와 세션 개념 : interconnection.tistory.com/74
[web] 쿠키(cookie)와 세션(session)의 개념/차이/용도/작동방식 : devuna.tistory.com/23
반응형
'개발용어' 카테고리의 다른 글
알아두면 좋은 개발용어 7 (OAuth 2.0) (0) | 2021.05.23 |
---|---|
알아두면 좋은 개발용어 6 (딥링크) (0) | 2021.05.15 |
알아두면 좋은 개발용어 4 (쿠키) (0) | 2021.05.02 |
[CSS] word-break 이해하기 (0) | 2021.03.02 |
알아두면 좋은 개발용어 3 (프로토콜,HTTP, HTTPS) (0) | 2020.08.31 |