UMC/study

[UMC_study] 컨트롤 URI이란?

sunm2n 2025. 10. 5. 02:41

컨트롤 URI이란?

 

컨트롤 URI(Control Uniform Resource Identifier)는 웹 페이지의 주소(URL)처럼 정해진 형식을 사용하여 애플리케이션의 특정 기능이나 UI(사용자 인터페이스) 요소를 제어하기 위한 내부적인 주소 체계입니다.

 

일반적인 웹 URI가 인터넷상의 리소스(웹 페이지, 이미지 등)를 가져오기 위해 사용된다면, 컨트롤 URI는 애플리케이션 내부에 약속된 명령을 전달하는 '리모컨'과 같은 역할을 합니다.

 

주로 앱 내부의 화면 이동(Navigation), 특정 기능 실행, 데이터 전달 등을 위해 사용되며, 커스텀 URI 스킴(Custom URI Scheme)을 기반으로 동작하는 경우가 많습니다.

 

 

컨트롤 URI의 구조

 

컨트롤 URI는 일반 URI와 유사한 구조를 가집니다.

 

scheme://host/path?query

  • scheme: 앱을 식별하는 고유한 이름입니다. (예: my-app://, kakao-talk://)
  • host / path: 제어하려는 기능이나 화면의 경로를 나타냅니다. (예: user/profile, settings/notification)
  • query: 기능 수행에 필요한 파라미터(데이터)를 전달합니다. (예: user_id=123&theme=dark)

 

컨트롤 URI 사용 사례 및 예시

 

컨트롤 URI는 애플리케이션의 유연성과 확장성을 높여주며, 다양한 상황에서 유용하게 사용됩니다.

1. 앱 내 화면 이동 (In-App Navigation)

가장 일반적인 사용 사례로, 복잡하게 얽힌 화면 간의 이동을 단순화하고 중앙에서 관리할 수 있게 해줍니다.

  • 상황: 사용자가 앱의 '마이페이지'에서 '알림 설정' 버튼을 클릭하는 경우
  • 예시 URI: my-app://settings/notifications
  • 동작 방식:
    1. 사용자가 '알림 설정' 버튼을 누릅니다.
    2. 앱은 이 버튼에 연결된 my-app://settings/notifications URI를 실행하도록 요청합니다.
    3. 앱의 내비게이션 시스템(Router)이 이 URI를 해석하여, '알림 설정'에 해당하는 화면으로 사용자를 이동시킵니다.
    • 장점: 화면 간의 의존성이 낮아져 코드 수정 및 유지보수가 용이해집니다.

2. 외부에서 앱의 특정 기능 실행 (Deep Linking)

웹 페이지, 푸시 알림, 문자 메시지 등 외부 소스에서 링크를 클릭했을 때 앱을 실행하고 특정 화면으로 바로 진입시키는 '딥 링크' 기능의 핵심 기술입니다.

  • 상황: 쇼핑 앱에서 "주문하신 상품의 배송이 시작되었습니다."라는 푸시 알림을 보냈고, 사용자가 이 알림을 클릭하는 경우
  • 예시 URI: my-shop://orders/detail?order_id=20251005_A1B2
  • 동작 방식:
    1. 푸시 알림에 my-shop://... URI가 포함되어 있습니다.
    2. 사용자가 알림을 탭하면, 운영체제(OS)는 my-shop:// 스킴에 등록된 쇼핑 앱을 실행시킵니다.
    3. 실행된 앱은 전달받은 URI의 path(orders/detail)와 query(order_id=...)를 분석합니다.
    4. 분석 결과를 바탕으로 해당 주문 번호의 '주문 상세' 페이지를 사용자에게 바로 보여줍니다.
    • 장점: 사용자가 앱의 첫 화면부터 원하는 정보까지 여러 단계를 거칠 필요 없이 한 번에 접근할 수 있어 사용자 경험(UX)이 크게 향상됩니다.

3. UI 상태 변경 및 데이터 전달

단순한 화면 이동을 넘어, 특정 UI 컴포넌트의 상태를 변경하거나 초기 데이터를 설정하는 데 사용될 수 있습니다.

  • 상황: 상품 목록 페이지에서 '여성 의류' 카테고리의 '세일 중인 상품만' 필터를 적용하여 보여주고 싶은 경우
  • 예시 URI: my-shop://products/list?category=women-apparel&filter=on-sale
  • 동작 방식:
    1. 다른 화면의 '여성 의류 세일' 배너를 클릭하면 위 URI가 실행됩니다.
    2. 앱의 내비게이션 시스템