본문 바로가기
아카이브

웹 쿠키와 세션 (Web Cookie, Session)

by PilYeooong 2020. 4. 7.

 

Why ?

쿠키(Cookie)와 세션(Session)을 사용하는 이유

- HTTP 프로토콜의 특징이자, 단점이 될 수 있는 Connectionless, Stateless를 보완하기 위해 사용합니다.

 

쿠키(Cookie)란 무엇인가 ?

어떠한 웹사이트를 방문할 경우 그 사이트가 사용하고 있는 서버를 통해 사용자의 컴퓨터에 저장되는 작은 기록 정보 파일 입니다.
쿠키에 담긴 정보는 인터넷 사용자가 똑같은 웹 사이트를 방문할 때마다 읽히고, 수시로 정보가 바뀌게 됩니다.


쿠키의 특징
1.  이름, 값, 만료날짜(expire), 도메인, 경로 정보 등으로 구성
2.  클라이언트에 300개의 쿠키까지 저장 가능
3.  하나의 도메인 당 20개의 쿠키 저장 가능
4.  하나의 쿠키는 최대 4KB까지 저장


쿠키의 동작 순서
1.  웹 사이트 접속
2. 사용자가 요청한 웹 페이지를 응답받음과 동시에, 서버에서 전달 해준 쿠키가 로컬에 저장
3. 사용자가 재방문시 웹 페이지 요청과 함께 HTTP 헤더에 쿠키값을 포함하여 전송
4. 쿠키를 활용한 웹 페이지의 응답을 받음

ex ) 자동 로그인, 팝업 창 오늘 더 이상 안보이기

 

세션(Session)이란 무엇인가 ?

일정 시간동안 같은 브라우저로부터 들어오는 일련의 요구를 하나의 상태로 보고, 그 상태를 유지하는 것을 세션(Session)이라 합니다.
웹 브라우저를 통해 웹 서버에 접속한 이후로, 브라우저를 종료할 때까지 상태를 유지시킵니다. 
세션은 방문자의 정보를 로컬에 저장하는 것이 아닌 웹 서버에 저장되는 정보입니다.


세션의 특징

1.  웹 서버에 저장되는 쿠키
2. 쿠키에 비해 높은 보안성 (브라우저 종료 시, 세션 삭제)
3. 저장 데이터에 제한이 없음
4. 각 사용자에게 session-id를 부여 및 서비스 제공


세션의 동작 순서
1.  웹 사이트 접속
2. 서버는 사용자의 Request-header 필드의 Cookie를 확인,
    사용자가 session-id를 전송하였는지 확인
3. session-id가 없다면, 서버는 session-id를 생성해 사용자에게 전송
4. 쿠키를 이용해 session-id를 저장, 웹 사이트 재요청시엔 쿠키에 저장된 session-id 활용


ex ) 로그인 상태 유지 (웹 이용시 다른 페이지를 이용하다가, 돌아와도 로그인 유지되는 경우를 볼 수 있음)

 

쿠키와 세션의 차이점

 

쿠키와 세션 정리 표

'아카이브' 카테고리의 다른 글

200408 / TIL  (0) 2020.04.08
200407 / TIL  (0) 2020.04.07
200406 / TIL  (0) 2020.04.06
200404 / TIL  (0) 2020.04.04
200403 / TIL  (0) 2020.04.03