본문 바로가기

CS

[HTTP - 3 ] HTTP의 특징:쿠키(Cookie)와 세션(Session)의 차이점

반응형
↘️ 관련 글 보기

[HTTP - 2 ] URL 입력에서 웹 페이지 출력까지: HTTP 요청과 응답 과정 이해하기

[HTTP - 1 ] HTTP란? : PUT과 PATCH의 역할과 차이점

 


 

📍 쿠키와 세션은 왜 사용하게 되었는가?

 HTTP는 기본적으로 비연결성(connectionless) 비상태성(stateless)을 특징으로 한다.
클라이언트가 서버에 요청(request)을 보내고, 서버가 응답(response)을 보낸 뒤 연결을 끊기 때문에 클라이언트의 상태를 유지할 수 없다. 이러한 이유로 클라이언트의 정보를 기억하고 유지하기 위해 쿠키와 세션을 사용한다.


📍 쿠키(Cookie)란?

 쿠키는 클라이언트(브라우저)에 key-value 쌍으로 저장되는 데이터 파일이다.
클라이언트가 특정 요청을 보냈을 때, 서버는 클라이언트의 정보를 토대로 쿠키를 생성하여 응답의 header에 담아 보낸다.
클라이언트는 브라우저의 쿠키 디렉터리에 해당 정보를 저장하고, 유효시간 내에 브라우저가 종료되어도 쿠키는 유지된다.

쿠키의 동작 방식

쿠키의 동작 방식

  1. 서버가 클라이언트의 요청을 받아 응답(header)에 Set-Cookie 속성을 포함해 보냄.
  2. 클라이언트는 응답을 받아 브라우저에 쿠키를 저장함.
  3. 이후 클라이언트가 서버에 요청을 보낼 때, Request Header에 쿠키를 포함해 전송함.

📍 세션(Session)이란?

 세션은 클라이언트를 식별하기 위해 서버에서 Session ID를 생성하고, 이를 클라이언트의 쿠키에 저장하여 동작한다.
쿠키와 달리 세션은 사용자의 정보를 서버 측에 저장하여 관리한다.

세션의 특징

  • 보안성: 사용자 정보가 클라이언트가 아닌 서버에 저장되므로 쿠키보다 보안이 우수함.
  • 유효시간: 세션은 유효시간을 설정할 수 있으며, 일정 시간 동안 응답이 없을 경우 자동으로 세션을 종료할 수 있음.
  • 브라우저 종료 시 소멸: 세션은 브라우저가 종료되면 인증 상태가 해제됨.

세션의 동작 방식


📍쿠키와 세션의 차이점

구분 쿠키  세션
저장 위치 클라이언트 서버
보안성 비교적 낮음 높음
유지 시간 설정한 유효시간 동안 유지 유효시간 종료 또는 브라우저 종료 시 소멸
서버 자원 사용 사용하지 않음 사용함

 


📍 세션보다 쿠키를 사용하는 이유는?

 세션은 보안성이 뛰어나지만 서버 자원을 사용하므로 많은 사용자가 접속하면 서버의 성능이 저하될 수 있다.
반면, 쿠키는 클라이언트에 정보를 저장하기 때문에 서버 자원의 낭비를 방지하고 웹사이트 속도를 높이는 데 유리하다.

반응형