본문 바로가기

Network

[Network] 세션과 쿠키의 차이

개요

 

쿠키와 세션의 차이가 무엇인가요?? 에 대답하기 위해 작성함.

쿠키가 무엇이고, 세션이 무엇이고 언제 쓰는것이 합리적일까? 를 알아 보는것이 좋을거 같음.

이 글에서는 어떻게 사용하는지가 아니라 왜 사용하는지에 관점을 두었음.


목차

 

1. 세션과 쿠키를 사용하는 이유

2. 세션(session)

3. 쿠키(cookie)

4. 적절한 쿠키와 세션의 쓰임


1. 세션과 쿠키를 사용하는 이유

HTTP프로토콜의 특징에는 무상태(Stateless) 와 비연결성(Connectionless) 있다.

이것 때문에 유저는 새로운 페이지마다 로그인 해야하는 불편함을 겪게 될것이다.

이를 보완하기 위해 탄생한것이 세션과 쿠키이다.

Connectionless 클라이언트가 요청을 한 후 응답을 받으면 그 연결을 끊어 버리는 특징
Stateless 통신이 끝나면 상태를 유지하지 않는 특징

 


2. 세션(Session)

1. 세션은 쿠키 기반이지만, 사용자 정보를 서버측에서 관리함

2. 쿠키로 세션의 ID를 부여하여 웹 브라우저에 접속할때 해당 ID에 맞는 정보를 서버측에서 가져옴

3. 서버측에서 관리하므로 이용자가 많으면 성능 저하의 요인이 됨.

 


3. 쿠키(Cookie)

1. 쿠키는 key , value 형태로 로컬 브라우저에 데이터를 저장함

2. 클라이언트에 최대 300개, 하나의 도메인당 20개, 하나의 쿠키값은 최대 4KB

3. 쿠키는 클라이언트 로컬에 저장하기 때문에 보안상 좋지 않음. 그래서 중요한 데이터는 담지 않음

 


4. 적절한 쿠키와 세션의 쓰임

쿠키는 데이터가 서버에 저장되는 것이 아니라 사용자 브라우저에 저장되는 것이기 때문에 보안상 위험이 있다.

그래서 보안에 문제가 되지 않는 간단한 데이터들을 저장해두는것이 좋다. 또한 쿠키는 삭제하지 않으면 계속적으로 유지할 수 있다.

 

반면에 세션은 서버에 데이터를 저장하기 떄문에 보안이 좋다. 

하지만 브라우저 종료시 해당 세션은 사라지고, 다수의 사람들이 이용하는 페이지라면 많은 양의 데이터를 세션에 담게 되면 과부화로 인해 성능 저하의 요인이 될 수 있다.

 

쿠키와 세션은 비슷하지만 엄연히 다르다. 대표적으로 보안, 라이프사이클, 저장위치 정도만 이해하고 사용하면 될것같다.

 

 

                                                   -  쿠키와 세션 비교 -

  쿠키(Cookie) 세션(Session)
보안 나쁨 좋음
속도 빠름 느림
저장위치 로컬 브라우저 서버
용량 작음
라이프사이클 삭제전까지 남아있음 브라우저 종류시 사라짐
쓰임 아이디, 비밀번호 저장
팝업창 다시보지않음
로그인 유지

 


 

'Network' 카테고리의 다른 글

톰캣 (tomcat) cmd 실행시 한글 깨짐  (2) 2023.04.19
Content-Type 정리  (0) 2022.11.15