본문 바로가기
일상 기술노트

[웹] 쿠키와 세션의 차이점 - 2. 쿠키와 세션의 특징과 차이점

by 인디코더 2019. 1. 31.

출처 : https://interconnection.tistory.com/74


그래서 쿠키는 뭐고 세션은 뭔데? (사용 예)

쿠키 

 방문한 웹 페이지에 "아이디와 비밀번호를 저장하시겠습니까?"라고 나타냄

"오늘 이 창을 다시 보지 않음" 체크

쇼핑몰 장바구니 같은 기능


세션

로그인과 같은 작업.


1. 쿠키란?

 - 클라이언트의 로컬에 저장되는 키와 값이 들어있는 작은 데이터 파일   

- 이름, 값, 만료날짜(쿠키 저장 기간), 경로정보가 들어있음

 - 일정 시간 동안 데이터를 저장할 수 있어서 로그인 상태를 유지합니다.

 - 클라이언트의 상태 정보를 본인 하드디스크에 저장하였다가 필요할 때 참조 및 재사용 합니다.


1) 쿠키 원리

 브라우저에서 웹 페이지 접속 -> 클라이언트가 요청한 웹 페이지를 받으면서 쿠키를 클라이언트 로컬(하드)에 저장 ->

 클라이언트가 재 요청시 웹 페이지 요청과 함께 쿠키도 전송 -> 지속적으로 로그인 정보를 가지고 있는 것처럼 사용 가능



2. 세션이란?

 - 클라이언트와 웹 서버 간의 네트워크 연결이 지속적으로 유지되고 있는 상태

 - 사용자가 브라우즈를 열어 서버에 접속한 뒤 접속을 종료할 때까지.

 - http 프로토콜은 비접속형 프로토콜, 매 접속시마다 새로운 네트워크 연결이 이루어짐. 세션이 연결유지를 가능하게 해줌.

 - 클라이언트가 웹서버에 request(요청)을 보내면 해당 서버의 엔진이 클라이언트에게 유일한 ID를 부여하는데 이 ID를 세션이라고 함.

 - 세션 ID는 임시로 저장하여 페이지 이동시 사용되거나 클라이언트가 재접속했을때 클라이언트를 유일하게 구분하는 수단이 됨.


1. 세션의 원리 ) 

클라이언트가 서버에 접속시, 세션 ID를 발급 => 서버에서는 발급해준 세션 ID를 쿠키를 사용해 저장(JSESSIONID -쿠키이름) =>

클라이언트는 다시 접속할 때, 이 쿠키(JESESSIONID)를 이용해서 세션 ID값을 서버에 전달

세션을 구별하기 위해서 ID가 필요하고, ID만 쿠키를 사용해서 저장해 놓은 뒤, 쿠키는 자동으로 서버에 전송되어서 해당 서버에서

세션 ID에 따른 처리를 수행


2. 세션의 장점 )

각 클라이언트에게 고유 ID를 부여.

세션 ID로 클라이언트를 구분해서 클라이언트의 요청에 맞는 응답을 할 수 있음.

서버에 저장을 하여 보안면에서 쿠키보다 우수함.


3. 쿠키와 세션의 차이점

쿠키와 세션은 기능과 동작원리가 비슷하다. 세션은 쿠키를 바탕으로 동작되기 때문이다.


가장 중요한 차이는 저장되는 곳이 다르다는 것!

쿠키는 클라이언트에 저장되고( 각 사용자의 로컬에 정보를 남김) 

세션은 서버에 저장이 된다.

쿠키의 경우 서버의 자원을 전혀 사용하지 않지만

세션은 서버에 저장되기 때문에 서버자원을 사용한다. 


두번때 차이는 만료기간이 다르다는 것







출처: https://toma0912.tistory.com/67?category=279089 [토마's 개발노트]

출처 : https://sdevstudy.tistory.com/27

출처 : https://hyeonstorage.tistory.com/125



반응형