개발 공부하기!

쿠키(Cookie)란?

hyer!! 2021. 1. 31. 14:05

 

1. 쿠키란?

 

쿠키(Cookie)는  웹 브라우저가 보관하는 데이터이다. 웹 브라우저는 웹 서버에 요청을 보낼 때 쿠키를 함께 전송하고

웹 서버는 웹 브라우저가 전송한 쿠키를 사용해서 필요한 데이터를 읽게 해 준다.

 

쿠키 동작 방식

 

 

 

2. 쿠키 동작 방식!

 

1단계 (쿠키 생성) : 웹 서버에서 생성한 쿠키를 응답 데이터 헤더에 저장하여 웹 브라우저에 전송

2단계 (쿠키 저장) : 웹 브라우저는 응답 데이터에 포함된 쿠키를 쿠키 저장소에 보관

3단계 (쿠키 전송) : 웹 브라우저는 저장한 쿠키를 요청이 있을 때마다 웹 서버에 전송

 

 

 

3. 쿠키 구성 요소!

 

  • 이름 : 각각의 쿠키를 구별하는 데 사용되는 이름(개발자가 지정할 수 있음)
  • 값 : 쿠키의 이름과 관련된 값
  • 유효시간 : 쿠키의 유효시간을 정해 놓으면 그 유효시간 동안 쿠키가 존재하며 웹브라우저를 종료해도 쿠키가 삭제되지 않는다.
  • 도메인 : 쿠키를 전송할 도메인을 지정
  • 경로 : 쿠키를 전송할 요청 경로

 

 

4. 쿠키의 도메인!

 

기본적으로 쿠키는 그 쿠키를 생성한 서버에만 전송된다.(도메인을 설정하지 않았을 때!)

예를 들어 "http://kkungspaw.tistory.com/"에 연결해서 생성된 쿠키는 다른 사이트에 연결할 때에는 전송되지 않으며 "http://kkungspaw.tistory.com"에 연결할 때에만 전송된다.

하지만 같은 도메인을 사용하는 모든 서버에 쿠키를 보내야 될 때가 많다.

이때 ". kkungspaw.tistory.com"도메인을 설정해주면 관련된 도메인에 모든 쿠키를 전송할 수 있다. 

 

 

 

5. 쿠키의 유효시간!

 

쿠키의 유효시간을 지정해주지 않으면 웹 브라우저를 종료할 때 쿠키를 함께 삭제한다. 하지만 쿠키의 유효시간을 정해 놓으면 그 유효시간 동안 쿠키가 존재하며 웹브라우저를 종료해도 쿠키가 삭제되지 않는다. 

//60초 * 60 = 1시간 
<%
cookie.setMaxAge(60*60)
%>

 

 

 

6. 쿠키 활용! (로그인 상태 유지)

 

로그인 상태를 확인할 때 쿠키를 가장 많이 사용한다. 쿠키를 이용하면 다음과 같은 방법으로 로그인 상태를 유지할 수 있다.

  1. 로그인에 성공하면 특정 이름을 갖는 쿠키를 생성한다.
  2. 해당 쿠키가 존재하면 로그인한 상태를 유지한다.
  3. 로그아웃하면 해당 쿠키를 삭제한다.