본문 바로가기

Web

[Web] 쿠키(Cookie) 이해하기

세션에 대해서 먼저 알아보았고 쿠키에 대한 이해가 필요했었다.

순서가 반대로 됐지만 이번에는 쿠키에 대해 자세히 알아봐야겠다!

 

상태를 저장하지 않는 게 HTTP 프로토콜의 Stateless 특성인데

상태 값을 저장해야하거나 하고 싶은 웹사이트도 있을 것이다.

 

그럴 때 사용할 수 있는 게 바로 쿠키..!

사용자의 로컬 환경에 저장되는 임시 데이터 파일이라고 정리해볼 수 있겠다.

 

쿠키는 키와 값 형태로 저장되며 이름, 값, 만료일, 경로 정보 등이 포함된다.

 

사용자의 로컬 환경에 저장되기 때문에 서버에는 부담이 적은 게 장점이고

반대로 로컬 환경에 저장되기 때문에 위변조 등 보안에 취약한 것이 단점이다.

 

클라이언트에 300개의 쿠키가 저장이 가능하고

도메인 당 20개의 쿠키를 가질 수 있으며 하나의 쿠키 당 4KB까지 저장이 가능하다고 한다.

 

이해하기 쉬운 쿠키 예시는

웹사이트의 팝업의 [오늘 더이상 보지 않기], [일주일 동안 보지 않기]와 같은 것이 대표적이다.

그 외에는 쇼핑몰의 [장바구니], [최근 본 상품] 등 예시도 있을 것이다.

 

사용자의 상태 값을 저장하고 서버에서 참조하여 그에 맞는 처리를 하게 한다.

쿠키를 활용함으로서 사용자 친화적이며 다양한 처리가 가능한 웹사이트를 만들 수 있을 것 같다.

 

마지막으로 세션과의 차이를 알아보면

 

세션은 서버, 쿠키는 로컬에 저장된다.

세션은 브라우저 종료 시 삭제, 쿠키는 브라우저 종료 시에도 파일로 남는다.

세션은 보안에 어느정도 안정적이고, 쿠키는 보안에 취약하다.

세션은 서버에서 처리되므로 속도가 느리고, 쿠키는 로컬에서 처리되므로 속도가 빠르다.

 

저장, 보안, 속도, 라이프사이클의 차이점이 있다.

 

웹 개발에 필수적인 내용인 쿠키와 세션의 개념에 대해서 알아봤다.

나중에는 실제 사용 예시와 함께 다시 정리해봐야겠다!

 

'Web' 카테고리의 다른 글

[Web] 세션(Session) 이해하기  (0) 2022.07.03