본문 바로가기

안드로이드/자바

[안드로이드/Android] 쿠키매니저 다루기

반응형

이번 포스팅의 주제는 쿠키매니저 입니다. 



쿠키란?


웹 사이트에 방문한 사용자의 디바이스에 저장해 놓은 작은 데이터 파일입니다. 주로 사용자가 사이트를 재방문 했을때 편리함을 제공하기 위해 데이터를 저장합니다.

사이트 별로 쿠키를 관리하며, 보안상의 이유로 개인정보등의 민감한 정보는 지양합니다.

간단하게 쿠키는 안드로이드의 쉐어와 같은 기능을 한다고 생각하시면 되는데, 쿠키는 웹사이트에서 관리합니다.

다음과 같은 예로 쿠키가 주로 사용됩니다.

  • 쇼핑몰에서 장바구니에 담아 놓은 상품들이 다음에 접속 했을때도 남아 있는 경우 
  • 로그인시 아이디가 저장되어 있는 경우


쿠키 API

안드로이드에서는 쿠키를 다루기 위해 CookieManager, CookieSyncManager api 를 제공합니다.



CookieSyncManager(링크)


쿠키의 동기화를 제공하는 api지만 api21부터 deprecated 됐습니다.

그 이유로 요즘 웹뷰들은 자동으로 동기화가 이뤄지기 때문에 수동으로 해줄필요가 없기 때문입니다. 수동으로 동기화가 필요할 경우 아래에서 소개될 CookieManager 클래스의 flush() 메소드를 사용해야합니다.



CookieManager(링크)


RFC2109 규약에 따라 쿠키를 관리합니다. (기존 api 클래스가 deprecated 됨으로써 개선되어 나온 api로 추측됩니다.)

동기화를 비롯하여 전반적인 관리를 해당 api로 합니다. 

setCookie(String url,String value)

파라미터의 url을 키값으로 value 값을 쿠키로 저장하는 메소드입니다.

getCookie(String url)

파라미터의 url 키에 저장된 쿠키 값을 불러옵니다.



포스팅을 마치며..

쿠키를 제어해 웹뷰로 띄운 사이트에서 코드로 저장한 쿠키값을 인식할 수 있는지를 조사하면서 정리(?)한 포스팅입니다.

포스팅을 하기 전에는 쿠키에대한 개념이 잡혀있지 않았습니다. 

단순히 '웹 사이트에서 사용하는 데이터 포맷이다' 라고 가볍게 생각하고 있었던터라 포스팅을 마친 지금은 머리가 조금 채워졌습니다.

이후에 실제 코드를 통해 추가적인 부분은 수정하도록 하겠습니다.




해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다. 


반응형