우보천리 개발
[1. Application Layer] 쿠키와 세션 -특징과 차이점 본문
반응형
HTTP는 Stateless이기 때문에 사용자의 정보를 저장하지 않는다
그럼 서버가 사용자를 확인해야할 경우(접속을 제한, 활동 추적, 장바구니, 로그인정보 저장 등) 어떻게 해야할까?
바로 쿠키를 사용하는 것이다. 그럼 사용자를 확인할 수 있게 해주는 쿠키와 세션의 특징과 차이를 알아본다
Cookie
- 쿠키는 사용자의 로컬에 저장되어있다
- 연결을 종료하여도 다음에 다시 연결할 때 HTTP Request 헤더에 자동으로 Cookie를 넣어서 요청한다
- 그렇기 때문에 서버는 사용자의 정보를 갖고있음
Session
- 쿠키는 로컬에 저장된다면 세션은 서버측에 저장이 된다
- 쿠키를 기반으로 동작한다
- 사용자가 Request를 보낼시 Session ID를 부과
- 사용자의 정보가 서버측에 저장되기 때문에 로컬에 저장되는 쿠키보다 상대적으로 보안에 강하다
- 하지만 서버측에 저장을 하다보니, 사용자가 증가하면 메모리에 부하가 오며 성능 저하의 원인
정리
세션은 쿠키를 기반으로 동작한다. 하지만 쿠키와 세션의 가장 큰 차이는 이들의 저장위치라고 할 수 있다.
쿠키는 사용자의 로컬에 저장되고 반면에 세션은 서버측에 저장이 된다.
사용자의 로컬에 저장되는 특징 때문에 쿠키는 변질 될 수 있는 가능성이 있고 이는 보안상 취약점이 될 수 있다.
반면에 세션은 오로지 Session ID를 통해서 식별하고 서버측에 저장이 되어있기 때문에 상대적으로 보안에 강하다고 할 수 있다.
하지만 로컬에 존재하는 특징을 갖고 있기 때문에 쿠키는 세션보다 속도가 빠르다
반응형
'Computer Science > 네트워크' 카테고리의 다른 글
[2. Transport Layer] TCP의 신뢰적인 데이터 전송 (0) | 2023.04.29 |
---|---|
[DNS] DNS가 무엇이고 어떻게 작동하나? (0) | 2023.04.20 |
[1. Application Layer] HTTP Request Message and HTTP Response Message (0) | 2023.04.19 |
[2. Transport Layer] Transmission Control Protocol(TCP) - Three-way handshake (0) | 2023.04.01 |
[2. Transport Layer] TCP and UDP - 구조와 특징 (0) | 2023.03.31 |
Comments