Client Side Agent (CSA) v.1.0.0
NetFUNNEL 클라이언트 측 동적 에이전트는 NetFUNNEL 서버와 통신하기 위한 일종의 NetFUNNEL 전용 클라이언트입니다. NetFUNNEL 태그 코드를 삽입함으로써 가상 대기실을 적용할 수 있습니다.
동작 원리
NetFUNNEL 클라이언트 측 동적 에이전트는 크게 다음과 같은 동작 흐름을 가지고 있습니다.
1. 대기 전
- 페이지 로드가 완료되면 agent 파일, setting 파일을 받아 옵니다.
- 페이지가 전환될 때마다 현재 페이지의 URL이 설정한 trigger rule에 매칭 되는지 확인합니다.
- rule에 매칭된다면 진입 NetFUNNEL 서버에 진입 요청을 하고, 진입 여부를 응답받습니다.
- 진입 허용 응답을 받을 경우 페이지에 남아있고, 대기 응답을 받을 경우 대기실 페이지로 이동합니다.
2. 대기 중
- 대기실 페이지에서 매초마다 NetFUNNEL 서버에 진입 요청을 합니다.
- 진입 허용 응답을 받을 경우, 이전 페이지로 이동합니다.
3. 대기 후
- NetFUNNEL 서버로 진입키를 반납하여 진입이 완료되었음을 알립니다.
에이전트 적용 방법
NetFUNNEL 콘솔에 접속하여 에이전트 - 동적 에이전트 - 클라이언트 측 에이전트 페이지로 이동하신 후, 코드 스니펫을 복사하여 <head>
태그의 최상단에 삽입해주세요.
💡
MPA(Multi-Page Application) 형태의 프로젝트에서는 모든 HTML 페이지의 <head>
태그 내에 NetFUNNEL 태그 코드를 삽입해야 합니다.
웹 사이트에 모든 HTML 파일에서 공통으로 참조되는 JavaScript 파일이 있다면, 그 공통 파일 내에 한 번만 을 NetFUNNEL 태그 코드를 삽입하여 중복 작업을 회피할 수 있습니다.
NetFUNNEL 태그 코드 예시
<script
src="https://example.stclab.com/client/netfunnel-agent.js"
data-nf-server-url="https://example.stclab.com"
data-nf-setting-url="https://example.stclab.com/nf-setting.json"
data-nf-vwr-page-url="https://example.stclab.com/vwr-page-url/index.html"
data-nf-eum-url="https://example.stclab.com"
data-nf-eum-use="true"
data-nf-retry-count="1"
data-nf-network-timeout="1000"
onerror="(function () { window.location.href="https://example.stclab.com/vwr-page-url/index.html?vrt=network_err" })()"
></script>
부록
태그 이름 | 설명 | 필수값 여부 |
---|---|---|
src | agent 파일 주소입니다. | True |
data-nf-server-url | NetFUNNEL 서버 주소입니다. | True |
data-nf-setting-url | NetFUNNEL 콘솔에서 설정한 값의 파일 주소입니다. | True |
data-nf-vwr-page-url | 요청량이 많아 대기하게 될 경우 이동하는 가상 대기실 주소입니다. | True |
data-nf-eum-url | 입력된 주소를 대상으로 eum 데이터를 수집합니다. | True |
data-nf-eum-use | true/false. true일 경우, eum 데이터를 수집합니다. 이 속성을 제거할 경우 eum 데이터를 수집합니다. | False |
data-nf-retry-count | API 요청이 실패했을 때 재시도하는 횟수입니다. 설정한 횟수만큼 API 요청이 실패하면 더 이상 재요청하지 않습니다. 이 속성을 제거할 경우 기본값인 “1”로 설정됩니다. | False |
data-nf-network-timeout | API 요청을 기다리는 최대 시간을 밀리초(ms) 단위로 설정합니다. 설정한 시간 내에 API 응답이 도착하지 않으면 요청이 실패한 것으로 간주합니다. 0으로 설정할 경우 timeout 기능을 비활성화합니다. 이 속성을 제거할 경우 기본값인 “1000”으로 설정됩니다. | False |
onerror | 사용자가 임의로 네트워크에서 agent 파일의 URL을 block할 경우 가상 대기실(network error)로 이동합니다. 이 속성을 제거할 경우 agent 파일을 불러오지 못하면 우회 처리됩니다. | False |