사용자 에이전트 축소 오리진 트라이얼

사용자 에이전트 축소는 사용자 에이전트(UA) 문자열의 정보를 브라우저의 브랜드 및 주요 버전, 데스크톱 또는 모바일 구분, 실행 중인 플랫폼으로만 줄여 패시브 디지털 지문 수집 노출 영역을 줄이기 위한 노력입니다. 현재 UA 문자열은 모든 HTTP 요청에서 공유되며 브라우저에서 로드한 모든 리소스에 JavaScript로 노출됩니다. 브라우저, 브라우저가 실행되는 플랫폼, 기능에 관한 중요한 정보가 포함되어 있습니다. 사용자 에이전트 클라이언트 힌트 (UA-CH)는 전체 UA 문자열과 동일한 정보를 제공할 수 있으며, 사이트에서 필요한 UA 정보만 요청할 수 있도록 허용합니다.

Chrome 95 베타부터 사이트에서 축소된 UA 문자열을 수신하도록 선택할 수 있도록 사용자 에이전트 축소에 관한 오리진 트라이얼이 제공됩니다. 이렇게 하면 사이트에서 축소된 UA가 Chrome의 기본 동작이 되기 전에 문제를 발견하고 해결할 수 있습니다 (축소는 2022년 2분기에 시작될 예정). 안정적인 사용자층에 출시하기 전에 95 베타 사용자를 대상으로 출처 무료 체험을 테스트하려면 Chrome 95 출시일 (2021년 10월 19일 현재 예정) 전에 선택하고 테스트해야 합니다.

아래는 오리진 트라이얼 및 예상 결과에 관한 개요입니다. 언제나 그렇듯이 이 트라이얼 기간 동안 UA 축소 GitHub 저장소에서 의견이나 문제를 보내주세요.

User-Agent란 무엇인가요?

User-Agent(UA) 문자열은 모든 HTTP 요청에서 공유되며 브라우저에서 로드한 모든 리소스에 JavaScript로 노출됩니다. 현재 브라우저 및 브라우저가 실행되는 플랫폼에 관한 중요한 정보가 포함되어 있습니다.

사용자 에이전트가 축소되는 이유는 무엇인가요?

사용자 에이전트 축소는 2020년 1월에 처음 발표된 Chrome 브라우저의 패시브 디지털 지문 수집 노출 영역을 줄이기 위한 노력입니다. UA 문자열의 정보를 브라우저의 브랜드 및 주요 버전, 데스크톱 또는 모바일 구분, 실행 중인 플랫폼으로만 줄이면 개별 사용자를 식별하기가 더 어려워집니다.

웹 개발자에게 미치는 영향

사이트는 축소된 UA 문자열을 수신할 준비를 하고 오리진 트라이얼 (아래에 자세히 설명)에 참여하는 것을 고려해야 합니다. 축소된 사용자 에이전트 값은 다음에 표시됩니다.

  • User-Agent HTTP 요청 헤더
  • navigator.userAgent JavaScript getter
  • navigator.platform JavaScript getter
  • navigator.appVersion JavaScript getter

축소된 User-Agent에서 공유하는 것보다 더 많은 클라이언트 정보를 수신하려면 사이트를 새 User-Agent Client Hints API로 이전해야 합니다. 이전 전략에 관한 자세한 내용은 User-Agent 클라이언트 힌트로 이전을 참고하세요.

현재 사용자 에이전트 감소 계획에는 iOS 및 WebView가 포함되지 않으므로 이러한 플랫폼에서는 계속 전체 사용자 에이전트 문자열을 가져옵니다. 그 주된 이유는 이러한 플랫폼이 아직 User-Agent 클라이언트 힌트를 구현하지 않았기 때문입니다.

이 출처 무료 체험은 어떻게 작동하나요?

이 오리진 트라이얼은 표준 오리진 트라이얼과 약간 다릅니다. 표준 출처 실험은 응답의 동작만 제어할 수 있습니다 (예: 응답의 JavaScript에서 API 액세스 제어). 이 실험에서는 JavaScript API에 제공된 UA 문자열을 수정하는 것뿐만 아니라 HTTP 요청에 전송된 User-Agent 헤더도 수정하는 것이 목표입니다.

이를 위해 요청에 포함된 경우 사용자 에이전트 헤더 값에 축소된 UA 문자열이 포함되어 있음을 나타내는 임시 클라이언트 힌트인 Sec-CH-UA-Reduced를 정의합니다. Sec-CH-UA-Reduced 클라이언트 힌트는 출처 무료 체험판 토큰이 유효한 경우에만 축약된 UA 문자열과 함께 전송되며 출처 무료 체험판이 만료되면 Sec-CH-UA-Reduced 클라이언트 힌트가 작동하지 않습니다. Critical-CH header를 설정하지 않으면 첫 번째 탐색 요청에는 여전히 축소되지 않은 User-Agent 문자열이 수신됩니다.

동일한 출처에 대한 하위 리소스 요청은 전송된 최상위 요청과 동일한 User-Agent 문자열을 자동으로 전송합니다. 서드 파티 출처에 대한 하위 요청도 권한 정책에서 허용하는 경우 출처 체험판 토큰이 유효한 경우 축소된 UA 문자열을 포함하여 최상위 요청과 동일한 User-Agent 문자열을 전송합니다.

사용자 에이전트 축소 오리진 체험판에 참여하려면 어떻게 해야 하나요?

  1. 오리진 트라이얼에 등록하고 도메인 토큰을 받으려면 사용자 에이전트 축소 체험판 페이지를 방문하세요.

  2. HTTP 응답 헤더를 업데이트합니다.

    1. HTTP 응답 헤더에 Origin-Trial: <ORIGIN TRIAL TOKEN>를 추가합니다. 여기서 <ORIGIN TRIAL TOKEN>에는 원본 체험판을 등록할 때 받은 토큰이 포함됩니다.
    2. HTTP 응답 헤더에 Accept-CH: Sec-CH-UA-Reduced를 추가합니다.
    3. Accept-CH를 설정하면 원본에 대한 후속 요청에서만 축소된 사용자 에이전트 문자열이 전송됩니다. 축소된 사용자 에이전트 문자열로 첫 번째 탐색 요청을 다시 전송하려면 Accept-CHOrigin-Trial 헤더 외에도 HTTP 응답 헤더에 Critical-CH: Sec-CH-UA-Reduced를 추가합니다.
    4. 참고: 응답 헤더에 유효한 Origin-Trial 토큰과 Accept-CH: Sec-CH-UA-Reduced가 포함된 경우 모든 하위 리소스 요청 (예: 이미지 또는 스타일시트) 및 하위 탐색 (예: iframe)은 요청의 출처가 출처 체험판에 등록되어 있지 않더라도 축약된 UA 문자열을 전송합니다.
  3. Chrome M95 이상에서 웹사이트를 로드하고 축소된 UA 문자열을 수신하기 시작합니다.

  4. UA 감소 GitHub 저장소에 문제나 의견을 제출하세요.

  5. 소스 코드와 함께 출처 무료 체험을 간단하게 보여주는 https://uar-ot.glitch.me/를 참고하세요.

서드 파티 삽입으로 오리진 트라이얼에 참여하는 방법

Chrome 96부터 서드 파티 삽입 (예: 다른 사이트 내의 iframe)은 최상위 사이트를 등록하지 않고도 오리진 트라이얼에 참여할 수 있습니다.

서드 파티 삽입으로 등록하려면 다음 단계를 따르세요.

  1. 사용자 에이전트 감소 체험판으로 이동하여 등록을 클릭합니다.
  2. 토큰을 만들 때 Third-party matching 체크박스를 선택해야 합니다.
  3. 서드 파티 삽입에서 축소된 User-Agent 헤더를 수신하려면 HTTP 응답 헤더를 업데이트하세요.
  4. JavaScript API에서 축소된 User-Agent 문자열을 수신하려면 무료 체험판 토큰을 JavaScript를 통해 삽입해야 합니다.

서드 파티 삽입에서 출처 체험을 실행하는 것과 관련하여 몇 가지 중요한 사항은 다음과 같습니다. + Critical-CH는 서드 파티 삽입에 지정할 수 없으므로 첫 번째 탐색은 축약된 UA 문자열을 전송하지 않지만 서드 파티 삽입의 하위 리소스 요청은 축약된 UA 문자열을 전송합니다. + 서드 파티 삽입의 출처에 대해 출처 체험판이 확인되면 최상위 탐색의 동일한 출처에 대한 후속 요청이 축소된 UA 문자열을 전송합니다. 따라서 최상위 요청과 삽입 요청 모두에 대해 출처 체험판 참여를 늘리는 것이 좋습니다. + 사용자 에이전트에서 서드 파티 쿠키를 사용 중지한 경우 서드 파티 삽입 요청의 User-Agent 헤더에 출처 무료 체험이 작동하지 않지만 JavaScript API는 여전히 축소된 UA 문자열을 가져옵니다.

출처 무료 체험이 작동하는지 확인하려면 어떻게 해야 하나요?

출처 무료 체험이 작동하는지 확인하려면 요청 헤더를 검사하고 다음을 확인합니다.

  1. User-Agent 헤더에는 축소된 버전이 포함됩니다. 축소된 UA 문자열 샘플 목록을 참고하세요. Chrome 마이너 버전 문자열에 0.0.0가 포함되어 있는지 확인하면 쉽게 알 수 있습니다.
  2. Sec-CH-UA-Reduced 헤더가 ?1로 설정됩니다.

출처 무료 체험 토큰이 포함된 초기 응답의 헤더는 다음과 같이 표시됩니다.

origin-trial 토큰이 포함된 초기 응답의 헤더입니다.

축소된 UA 문자열이 포함된 후속 요청 헤더는 다음과 같이 표시됩니다.

축소된 UA 문자열이 포함된 후속 요청 헤더

사용자 에이전트 축소 출처 무료 체험에 참여 중지하려면 어떻게 해야 하나요?

무료 체험 기간 중 언제든지 참여를 중지하고 전체 사용자 에이전트 문자열을 수신할 수 있습니다. 참여를 중지하려면 다음 단계를 따르세요.

  1. HTTP 응답에서 Sec-CH-UA-Reduced를 포함하지 않는 Accept-CH 헤더를 전송합니다. 참고: 사이트에서 다른 클라이언트 힌트를 요청하지 않는 경우 빈 값이 있는 Accept-CH를 사용하면 이 작업을 실행할 수 있습니다.
  2. HTTP 응답에서 사용자 에이전트 축소 체험판의 Origin-Trial 헤더를 삭제합니다.
  3. 설정된 경우 HTTP 응답의 Critical-CH 헤더에서 Sec-CH-UA-Reduced를 삭제합니다.

오리진 무료 체험은 언제까지 사용할 수 있나요?

UA 축소 오리진 트라이얼은 Chrome 마일스톤 6개에 해당하는 최소 6개월 동안 진행됩니다. 오리진 트라이얼은 M95에 표시되고 M101까지 종료됩니다. 이 시점에서 Chrome은 오리진 트라이얼의 의견을 평가한 후 출시 계획에 따라 단계적으로 축소된 사용자 에이전트 문자열을 전송합니다. 사이트에 더 긴 기간이 필요한 경우 후속 지원 중단 출처 체험판을 선택하면 최소 6개월 동안 전체 UA 문자열에 액세스할 수 있습니다. 지원 중단 체험판이 준비되면 자세한 내용을 게시할 예정입니다.

사용자 에이전트 축소 출처 무료 체험에 관한 의견을 공유하려면 어떻게 해야 하나요?

UA 감소 GitHub 저장소에 문제나 의견을 제출하세요.