Chrome, Safari 및 Firefox의 사용자 에이전트 감소

王林
풀어 주다: 2024-08-06 17:06:39
원래의
945명이 탐색했습니다.

User Agent Reduction in Chrome, Safari & Firefox

소개: 사용자 에이전트 감소 및 클라이언트 힌트란 무엇입니까?

최근 몇 년간 개인정보 보호 문제로 인해 브라우저가 사용자 에이전트 문자열을 처리하는 방식이 크게 바뀌었습니다. 전통적으로 브라우저 및 장치 정보를 식별하는 데 사용되었던 User-Agent 문자열은 공유되는 정보의 양을 제한하여 사용자 개인정보를 보호하기 위해 축소되었습니다. 사용자 에이전트 감소의 한계를 해결하기 위해 클라이언트 힌트가 솔루션으로 등장하여 필요한 정보를 공유할 수 있는 보다 통제되고 개인정보 보호 방식을 제공합니다.

여기에서 전체 블로그 게시물을 읽어보세요

사용자 에이전트 문자열의 간략한 역사

User-Agent 문자열은 Tim Berners-Lee의 WorldWideWeb을 시작으로 초기 웹 브라우저까지 거슬러 올라갑니다. 처음에는 기본 브라우저 및 버전 정보를 제공하는 간단했습니다. 시간이 지남에 따라 운영 체제, 장치 유형 등에 대한 자세한 데이터를 포함하도록 발전했으며 이는 웹 분석 및 사용자 경험 최적화에 유용한 것으로 입증되었습니다. 그러나 이 세부 사항으로 인해 장치 지문 인식도 활성화되어 개인 정보 보호 문제가 발생했습니다.

사용자 에이전트 감소란 무엇입니까?

User-Agent 감소는 사용자 개인 정보를 보호하기 위해 User-Agent 문자열의 정보를 최소화하는 것을 목표로 합니다. 특정 OS 버전, 하드웨어 모델 등 엔트로피가 높은 정보가 줄어듭니다. 예를 들어, Google Chrome은 이제 덜 자세한 User-Agent 문자열을 보고합니다.

  • 이전: Mozilla/5.0(Linux, Android 13, Pixel 7) AppleWebKit/537.36(KHTML, like Gecko) Chrome/95.2.1.0 Mobile Safari/537.36
  • 이후: Mozilla/5.0(Linux; Android 10; K) AppleWebKit/537.36(KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

마찬가지로 Firefox와 Safari는 고유한 정책에 따라 약간의 차이가 있지만 자체 버전의 User-Agent Reduction을 구현했습니다.

클라이언트 힌트는 어떻게 작동하나요?

클라이언트 힌트는 개인정보 보호를 고려하여 사용자 기기 및 브라우저에 대한 특정 고엔트로피 정보를 요청하는 방법을 제공합니다. 클라이언트 힌트에 액세스하는 두 가지 기본 방법은 다음과 같습니다.

  1. HTTP 요청 헤더: 웹사이트는 HTTP 요청 헤더를 사용하여 사용자의 브라우저 및 장치에 대한 특정 정보를 요청할 수 있습니다. 이는 일반적으로 자사 컨텍스트에서 사용되며, 자세한 사용자 정보는 타사 리소스가 아닌 기본 웹사이트에서만 액세스할 수 있습니다.
  2. JavaScript API: 클라이언트 힌트는 JavaScript 내의 navigator.userAgentData 개체를 통해 액세스할 수도 있습니다. 이를 통해 추가 헤더 설정 없이 아키텍처, 모델, 플랫폼 버전 등 특정 정보에 대한 동적 쿼리가 가능합니다.

클라이언트 힌트 구현

HTTP 요청 헤더 사용

HTTP 헤더를 통해 클라이언트 힌트를 구현하려면 서버는 HTTP 응답에 적절한 헤더를 설정하여 향후 요청에 이러한 힌트를 포함하도록 브라우저에 신호를 보내야 합니다. 예:

Accept-CH: Sec-CH-UA-Platform-Version
로그인 후 복사

브라우저의 후속 요청에는 플랫폼 버전이 포함됩니다.

Sec-CH-UA-Platform-Version: "14.5.0"
로그인 후 복사

자바스크립트 API 사용

동적 애플리케이션의 경우 JavaScript API가 유연성을 제공합니다. 예를 들어 getHighEntropyValues ​​메소드를 사용하면 다음과 같습니다.

if (navigator.userAgentData) {
    navigator.userAgentData.getHighEntropyValues(['architecture', 'model', 'platformVersion'])
        .then(ua => {
            console.log(ua);
        });
}
로그인 후 복사

개발자를 위한 권장사항

특정 요구 사항에 따라 사용자 환경 데이터를 수집하는 다양한 방법을 선택할 수 있습니다.

  • 기능 감지: 가능하다면 기존 브라우저 JavaScript API를 사용하세요. 이는 사용자 에이전트 문자열에 의존하는 것보다 더 안정적이고 미래 지향적입니다.
  • 저엔트로피 정보: 장치 유형과 같은 기본 세부정보의 경우 사용자 에이전트 문자열이면 충분할 수 있습니다.
  • 고엔트로피 정보: 자세한 정보가 필요하고 도메인을 제어할 수 있는 경우 클라이언트 힌트를 사용하세요.

결론

사용자 에이전트 감소 및 클라이언트 힌트는 웹사이트가 최적의 기능을 위해 필요한 정보를 수집할 수 있도록 하면서 사용자 개인 정보 보호를 강화하는 중요한 단계를 나타냅니다. 개발자는 이러한 기술을 이해하고 구현함으로써 상세한 사용자 데이터에 대한 필요성과 개인 정보 보호 및 성능 고려 사항 사이의 균형을 맞출 수 있습니다.

자세한 내용은 블로그 게시물에서 자세히 알아보세요.

위 내용은 Chrome, Safari 및 Firefox의 사용자 에이전트 감소의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿