쿠키와 세션의 차이
2021. 3. 10. 17:43ㆍ개발이야기
728x90
반응형
쿠키와 세션의 차이
HTTP 프로토콜의 특징
🍭비연결성
HTTP는 먼저 클라이언트가 request를 서버에 보내면 서버는 클라이언트의 요청에 맞는 response를 보내고 접속을 끊는 단발성의 특징이 있음
🍭비상태성
연결을 끊는 순간 클라이언트와 서버의 통신은 끝나며 상태 정보는 유지하지 않는 특성
장점: 비연결지향 이라는 특성으로 계속해서 연결을 유지하지 않기 때문에 자원을 절약할 수 있다
단점: 통신할 때마다 새로 연결을 해주어야 하기 때문에 클라이언트는 그때마다 인증을 해주어야 한다
**쿠키와 세션은 이러한 두가지 특성을 보완하기 위해 사용되기 시작했다.
🍪: 내가 가지고 있으면서 서버를 이용할 때마다 보여주는 것
쿠키
📌쿠키(Cookie)의 개념
- 웹 사이트에 접속할 때 생성되는 정보를 담은 임시 파일
- 서버가 사용자의 웹 브라우저에 저장하는 데이터
- 데이터 형태: key와 value로 구성, String 형태로 되어 있음
📌쿠키가 사용되는 예시
- ID 저장, 로그인 상태 유지
- 일주일간 다시 보지 않기
- 쇼핑몰 장바구니 기능 등
📌쿠키의 단점
- 보안이 취약
- 방문했던 웹 사이트에 대한 정보 및 개인정보가 기록되기 때문에 사생활을 침해할 소지가 있음
- 서버가 가지고 있는 것이 아니라 사용자에게 저장되기 때문에 임의로 조작될 수 있고 가로채기도 쉬움
💣 따라서, 쿠키에 민감하거나 중요한 정보를 담는 것은 위험함
세션
🐾세션의 개념
- 세션은 쿠키를 기반하고 있지만, 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버 측에서 관리
- 서버에서는 클라이언트를 구분하기 위해 세션 ID를 부여하며 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증상태를 유지한다.
- 클라이언트가 Request를 보내면, 해당 서버의 엔진이 클라이언트에게 유일한 ID를 부여하는 데 이것이 세션ID다.
🐾세션의 장점
- 보안 Good!
- 사용자에 대한 정보를 서버에 두기 때문에 쿠키보다 보안에 좋다.
🐾세션의 단점
- 메모리 많이 차지, 성능저하, 속도
- 사용자가 많아질수록 서버 메모리를 많이 차지하게 된다
- 동접자 수가 많은 웹 사이트인 경우 서버에 과부하를 주게 되므로 성능 저하의 요인
💡간단요약
|
쿠키(Cookie) |
세션(Session) |
저장 위치 |
클라이언트(=접속자 PC) |
웹 서버 |
저장 형식 |
text |
Object |
만료 시점 |
쿠키 저장시 설정 (브라우저가 종료되도, 만료시점이 지나지 않으면 자동삭제되지 않음) |
브라우저 종료시 삭제 (기간 지정 가능) |
사용하는 자원(리소스) |
클라이언트 리소스 |
웹 서버 리소스 |
용량 제한 |
총 300개 하나의 도메인 당 20개 하나의 쿠키 당 4KB(=4096byte) |
서버가 허용하는 한 용량제한 없음. |
속도 |
세션보다 빠름 |
쿠키보다 느림 |
보안 |
세션보다 안좋음 |
쿠키보다 좋음 |
728x90
반응형
'개발이야기' 카테고리의 다른 글
네이버 부스트캠프 6기 2021 (웹·모바일) 최종 합격 (0) | 2021.07.13 |
---|---|
정규표현식 (0) | 2021.03.04 |
[생활코딩] 서버와 클라이언트/서버제어 (0) | 2021.01.06 |
[생활코딩] 웹 애플리케이션을 만드는 순서 (0) | 2021.01.06 |
[생활코딩] 웹 어플리케이션 만들기 오리엔테이션 (0) | 2021.01.06 |