본문 바로가기
웹 프론트엔드/웹개발 용어 및 개념 정리

쿠키란? Cookie 개념

by 번데기 개발자 2018. 8. 6.
반응형


쿠키란?

브라우저의 저장소 역활을 하기 위해 사용합니다.

쿠키는 만료 기간이 있는 키 - 값 저장소입니다.

document.cookie를 통해 현재 쿠키의 정보를 알아낼 수 있습니다.







쿠키의 특징


4KB의 용량 제한이 있습니다. (1KB는 1024 바이트 => 한글자당 보통 2Byte니까 512글자정도 쓸수 있는 용량)

계산해보면 2000자 남짓의 텍스트를 저장할 수 있다고 가정하겠습니다.


매 서버 요청시마다 서버로 쿠키가 전송되는데요, 왜 쿠키가 전송될까요?


그것을 알기위해서는 HTTP요청에 대해서 간단히 알아야합니다.

HTTP 요청은 상태를 가지고 있지 않습니다. (Stateless)

무슨 말인지 예를 들면 브라우저에서 서버로 나에 대한 정보를 가져오라는 Get /Me라는 요청을 보낼 때, 서버는 요청 자체만으로는 그 요청이 누구에게서 오는지 알 수 없습니다.

따라서 응답을 보낼수가 없게 됩니다.

이때 쿠키에 나에 대한 정보를 담아서 서버로 보내면 서버는 쿠키를 읽어서 내가 누군지 파악합니다.

쿠키는 처음부터 서버와 클라이언트 간의 지속적인 데이터 교환을 위해 만들어졌기 때문에 서버로 계속 전송되는 것입니다.



위의 내용이 문제가 되기도 합니다.

만약 4kb 용량 제한을 거의 다 채운 쿠키가 있다면, 요청을 할 때마다 기본 4kb의 데이터를 사용합니다.

4kb에는 서버에 필요하지 않은 데이터도 존재하는데 이 때 데이터의 낭비가 발생하는 것입니다.

바로 그런 데이터들을 이제 로컬 스토리지세션 스토리지에 저장할 수 있습니다.

이 두 저장소의 데이터는 서버로 자동 전송되지 않습니다.








반응형

'웹 프론트엔드 > 웹개발 용어 및 개념 정리' 카테고리의 다른 글

HTTP 와 TCP의 Keep-Alive  (0) 2018.09.06
Key-Frame 애니메이션이란?  (0) 2018.08.09
SVG란?  (0) 2018.08.09
CSS - 뷰포트란 무엇일까?  (0) 2018.08.03
웹에서 forward와 redirect의 차이  (0) 2018.08.02