본문 바로가기

Dev/Mobile

[Android] 웹뷰 자동로그인을 위한 여정 #1

반응형

출처 https://interconnection.tistory.com/74 

2020/02/28 - [핫이슈] - [이상형 월드컵] 바로가기

2020/02/28 - [핫이슈] - [forest 나만의 꽃 심기] 바로가기

2020/02/28 - [핫이슈] - [fonfon 이상형 테스트] 바로가기

2020/01/29 - [Dev/안드로이드] - 안드로이드 SDK 번호와 버전 정리

2019/08/21 - [Dev/안드로이드] - [Android] 웹뷰 자동로그인을 위한 여정 #2

용어 정리

안드로이드 웹뷰

  • 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View) 형태로 보여줌
  • 안드로이드 내부에 HTML 혹은 IFRAME을 넣어 구현
  • 안드로이드로 개발하는 것을 네이티브 앱 개발이라고 하는데
  • 웹에서 개발된 내용을 안드로이드에서 구현하므로 하이브리드 앱 개발이라고 함

쿠키 (Cookie)

  • 클라이언트(브라우저) 로컬에 저장되는 키와 값으로 이루어진 데이터 파일
  • 유효기간을 설정할 수 있으며, 유효기간이 설정되면 클라이언트(브라우저)가 종료되어도 인증이 됨

쿠키 구성 요소

  • 이름 : 각각의 쿠키를 식별(Key)
  • 값 : 이름에 대한 값(Value)
  • 유효시간 : 쿠키의 유지시간
  • 도메인 : 쿠키를 전송할 도메인(같은 내용이라도 도메인에 따라 다름)
  • 경로 : 쿠키를 전송할 요청 경로

쿠키 동작 방식

  1. 클라이언트 페이지 요청 

  2. 서버에서 쿠키를 생성

  3. HTTP 헤더에 쿠키를 포함시켜 응답

  4. 브라우저 종료 후 만료기간 설정된 쿠키 브라우저 보관  

  5. 클라이언트 동일 페이지 요청 

  6. 서버에서 쿠키를 읽음 

  7. 변경사항 있을 시 쿠키 업데이트

  8. HTTP 헤더에 쿠키를 포함시켜 응답

쿠키 사용 예시

  • 아이디 비밀번호 저장
  • 자동 로그인
  • 팝업창 오늘 다시 보지 않음 체크

세션 ( Session )

  • 세션은 쿠키를 기반으로 하고 있으나 사용자 정보 파일을 브라우저에 저장하는 쿠키와 달리 세션은 서버에서 관리함
  • 서버에서는 클라이언트를 구분하기 위해 세션 ID를 부여하고 웹 브라우저가 서버에 접속해서 브라우저를 종료할 때까지 인증 상태를 유지함
  • 접속 시간에 제한을 두어 일정 시간 응답이 없으면 인증 상태가 유지되지 않도록(세션이 종료되도록) 설정 가능

세션의 동작 방식

  1. 클라이언트가 서버에 접속 시 세션 ID 발급

  2. 클라이언트는 세션 ID에 대해 쿠키를 사용해서 저장 ( 쿠키 이름은 JSESSIONID)

  3. 클라이언트가 서버에 다시 접속 시 이키를 이용하여 세션 ID 값을 서버에 전달

 

쿠키와 세션 관계

  • 쿠키와 세션의 역할 및 동작원리는 비슷합니다. (세션도 쿠키를 사용함)
  • 사용자의 기록 저장되는 위치 
    • 쿠키 : 클라이언트
    • 세션 : 서버
  • 서버 자원 이용 여부
    • 쿠키 : 사용 안함
    • 세션 : 사용함
  • 보안성
    • 쿠키 : 상대적으로 낮음(정보가 변경 되거나 탈취 당할수 있음)
    • 쿠키 : 상대적으로 높음
  • 요청 속도
    • 쿠키 : 상대적으로 빠름
    • 세션 : 상대적으로 느림(서버 처리 시간 필요)
  •  만료 기간
    • 쿠키 : 설정된 만큼 유지
    • 세션 : 브라우저 종료시 삭제

 

2019/08/21 - [Dev/안드로이드] - [Android] 웹뷰 자동로그인을 위한 여정 #2

반응형