쿠키(Cookie)는 간단히 말해 브라우져를 사용하는 컴퓨터에 저장되는 작은 파일을 말한다. 서버에서 쿠키정보가 전송되면 브라우져는 자동으로 특정 장소에 그 내용을 저장을 하게되며 일반적으로 다음 내용을 저장한다.
쿠키가 전송된 서버의 이름
쿠키 수명
전송된 내용 값(일반적으로 무작위로 생성된 고유 번호)
이렇게 작성된 쿠키 파일은 특정 클라이언트(브라우저) 및 웹 사이트에 고유한 데이터를 보관하도록 설계되었으며 웹 서버나 클라이언트 컴퓨터에서 액세스할 수 있다.
어떤 정보를 저장하는가
위에서 언급했듯이 쿠키는 주로 웹 사이트를 방문한 사용자의 정보를 저장한다. 예를 들어, 웹사이트에서 사용자가 입력한 이름, 이메일 주소 등을 입력하는 경우가 있다. 바로 이들 정보가 쿠키를 사용하는 웹 사이트이면 사용자의 편의를 도모하기 위해 양식에 맞게 입력된 정보를 쿠키로 변환하여 사용자의 컴퓨터에 저장하는 경우가 있다. 따라서 서버는 재방문한 사용자에게 자동으로 정보를 입력하거나 특정페이지로 리다이렉트를 보내는등 사용자에게 보다 편의성을 제공 할 수 있게된다.
이처럼 사용자의 편의성을 위해 사용되는 쿠키 정보이지만, 때로는 악용되는 사례가 있고, 급증하는 추세이다. 이런 악용 사례를 막기위해 유럽에서는 GDPR(General Data Protection Regulation, EU 일반 데이터 보호 규칙)이 시행되어 정보의 취급에 대한 규칙이 엄격해지고 있다.
세션(Session)에 관해서
세션은 쿠키와 마찬가지로 서버의 임시 디렉토리에 저장된 데이터를 말한다. 이 데이터는 사용자가 웹사이트에 있는 동안 사이트의 모든 페이지에서 사용할 수 있다.
세션에 자장하는 정보는?
세션도 쿠키와 마찬가지로 데이터를 저장하지만 세션은 연결 중인 사용자의 활동과 관련된 정보를 일시적으로 저장한다. 예를 들어 장바구니에 쇼핑 사이트를 검색하고 쇼핑 카트에 넣은 후 웹 사이트를 떠난 후 다시 돌아올 때 쇼핑 카트에 제품이 남아있는 이유는 세션에 해당 쇼핑 카트 정보를 저장했기 때문이다.
방금 전 쇼핑 카트 기능도 세션만의 힘으로는 실현할 수는 없다. 쇼핑 카트에 상품을 넣은 채로 하는, 최근본 상품페이지 이력을 표시하거나 사용자의 정보 또는 행동의 이력에 맞추어 Web 사이트가 서포트해 주는 기능의 대부분은, 쿠키와 세션을 동시에 활용해 구현하고 있다. 간단하게 쿠키와 세션의 주 역할을 정리하자면, 쿠키는 주로 사용자의 정보를 보관하고, 세션은 사용자의 최근 행위를 저장한다 라고 구분 할 수 있겠다.
위에서 언급했듯이, 쿠키는 그다지 많은 양의 정보를 저장하는 것은 아니다. 그러나 특정 사용자를 인식하기 위한 값을 생성한다. 반면에 세션은 사용자의 다양한 행동에 대한 정보를 저장합니다. 그렇게에 세션과 쿠기를 적절히 구분하여 사용하면 사용자의 편의성을 높일 수 있을 것이다.
캐쉬(Cache)에 관해서
캐시라는 용어는 컴퓨터기술에 여러 분야에서 등장하는 용어이다. 일반적으로 사용되는 캐시에 대한 정의는 자주 사용하는 데이터에 대한 액세스를 가속화하기 위해 더 빠른 저장 장치에 일시적으로 저장하는 메커니즘을 의미한다. 이러한 구조는 웹 사이트에서 사용되는 캐시에서도 마찬가지다. 웹사이트 캐시는 자주 액세스되는 콘텐츠를 브라우져(브라우져 캐시)에 저장하고 해당 정보를 서버의 재호출 없이 표시 속도를 가속화 하는데 이용되는 기술을 의미한다.
쿠키와 세션 비교
쿠키와 세션 모두 정보를 저장하는 데 사용되는 것에는 차이가 없다. 차이로는 데이터를 저장하는 장소를 들 수 있다. 쿠키는 클라이언트 측 머신(주로 브라우저)에만 저장되며 세션은 브라우저뿐만 아니라 서버에도 정보를 저장한다. 또한 저장 기간에는 큰 차이가 있으며 세션은 사용자가 브라우저를 닫거나 사이트를 떠날 때 정보가 삭제된다. 반면에 쿠키에는 영구적으로도 저장가능하며 서버에서 설정한 유요기간까지 정보를 계속 유지한다. 또한 세션은 브라우져 설정에서 비활성화할 수 없지만 쿠키는 비활성화할 수 있다.
쿠키와 세션 그리고 캐쉬의 비교
캐시와 쿠키 및 세션 간의 큰 차이점은 캐시가 가속화를 위해 정보를 저장하는 반면 쿠키와 세션은 사용자 정보를 저장한다는 것이다. 캐시, 쿠키, 세션, 각각 사용자에 대해 더 나은 지원을 하기 위해서 취득하고 있는 데이터에는 변함이 없지만, 캐쉬는 표시 속도를 올리는 것으로 사용자의 편의성을 올리고, 쿠키·세션은 사용자의 정보·행동을 기억해 두는 것으로, 기능의 서포트를 해 주고 있다.