Accept-Language 감소는 패시브 디지털 지문 수집을 줄이기 위한 노력임
표시 경로에서 사용자의 언어 환경설정을 줄여
Accept-Language
드림
헤더를 사용하여 사용자가 가장 선호하는 언어 (하나만)만 전송합니다.
Chrome 109부터
공개 베타를 통해
오리진 트라이얼
- Accept-Language 감소를 지원하기 위한
Accept-Language
헤더 이렇게 하면 사이트에서 문제를 발견하고 해결할 수 있습니다.
Accept-Language
가 감소하기 전에
향후 출시 버전에서 사용할 수 있습니다. 안정적인 모집단을 출시하기 전에 기능을 테스트하려면
Chrome 109 (현재
예정으로 변경 예정)입니다.
아래에서 축소 전과 후의 Accept-Language
헤더 예를 확인하세요.
Accept-Language: en-GB,en;q=0.9,de;q=0.8,fr;q=0.7
Accept-Language: en-GB
다음은 오리진 트라이얼과 예상 결과에 대한 개요입니다. 다음과 같은 방법으로 이 변경사항에 대한 의견이나 오리진 트라이얼 동안 발생한 문제에 대한 의견을 Accept-Language Reduction GitHub(Accept-Language Reduction GitHub) 저장소를 사용합니다.
Accept-Language란 무엇인가요?
이 Accept-Language 문자열은 모든 HTTP 요청에서 공유되며 JavaScript를 통해 모든 리소스에 의해 로드됩니다. 현재, 이 폴더에는 사용자의 기본 언어로 제공됩니다.
Accept-Language가 축소되는 이유는 무엇인가요?
Accept-Language 감소는 패시브 디지털 지문 수집을 줄이기 위한 노력임 표시 경로입니다.
현재 Accept-Language
헤더는 기본적으로 모든 HTTP에서 공유됩니다.
브라우저에 의해 로드된 모든 리소스에 노출되며 JavaScript로 노출됩니다. 그것은
에는 사용자의 모든 언어 환경설정이 포함됩니다. 브라우저에서
사이트에서 필요한 경우 사용자가 설정한 언어의 전체 목록을
다국어 콘텐츠를 제공하는데, Google에서는 사이트가 공개될 때
표시되는 식별 정보를 표시하는
브라우저는 해당 언어에서 사용되는 언어를
원하는 언어를 표시합니다.
또 다른 이유는 많은 사이트에서 Accept-Language
헤더를 사용하지 않기 때문입니다.
모든 언어 협상을 지원 (예: 하나의
조사에 따르면 전체 인구 중
상위 10,000개 사이트에서 Accept-Language
사용). Chrome 시크릿 모드는 이미
Accept-Language
대 1.
이러한 변화는 웹 개발자에게 어떤 의미가 있을까요?
Accept-Language
를 사용하여 언어 협상을 수행하는 사이트는 다음 사항을 준수해야 합니다.
감면된 Accept-Language
을(를) 받을 수 있도록 준비하고
오리진 트라이얼입니다. 감소된 Accept-Language
값이 다음에 표시됩니다.
Accept-Language
HTTP 요청 헤더navigator.languages
JavaScript getter입니다.
브라우저는 언어 협상을 담당하여
사용자의 기본 언어를 선택합니다. 이를 위해서는 사이트에서
헤더 두 개 추가
Variants
드림
(새 헤더는 언어를 지원하는 사이트를 나타냄) Accept-Language
및
Content-Language
응답 헤더 (아래 자세한 예시 참조)를 사용하세요.
축소된 Accept-Language
요금제에는 현재 iOS 및 WebView가 포함되지 않습니다.
해당 플랫폼에서 지속적으로 사용자의 Accept-Language
의 전체 목록
이러한 플랫폼에 대한 지원은 향후 계획되어 있습니다.
Accept-Language 절감을 위한 오리진 트라이얼
오리진 트라이얼을 사용하려면 참여 사이트에서
지정된 시도를 사용하도록 브라우저에 지시하는 응답입니다. 그러나
사이트에 대한 브라우저의 초기 요청에서
사이트가 오리진 트라이얼에 참여하는 경우 즉, 초기
Accept-Language header
해당 페이지의 하위 리소스(동일 출처 및 교차 출처 모두)에 대한 요청은
축소된 Accept-Language
헤더를 수신합니다. 후속 동일 출처 탐색
축소된 Accept-Language
헤더도 수신합니다. 교차 출처 탐색
전체 헤더를 전송하는 것으로 되돌아가지만
페이지 (예: 서드 파티 iframe 요청)에서 여전히 축소된 Accept-Language
를 전송합니다.
헤더를 반환합니다.
이는 사용자 에이전트 축소 오리진 트라이얼과 유사하며, 내부 Chromium 구현에 대한 자세한 내용은 Reduce Accept-Language HTTP 헤더 구현
Accept-Language Reduction 오리진 트라이얼 참여
자세한 안내는 Chrome의 오리진 트라이얼 시작하기 필수 단계는 아래와 같습니다.
1단계
오리진 트라이얼에 등록하고 도메인 토큰을 가져오려면 다음 단계를 따르세요. 다음 페이지를 방문하세요. 동의 언어 감소 무료 체험 있습니다.
2단계
HTTP 응답 헤더를 업데이트합니다.
- HTTP 응답에
Origin-Trial: <ORIGIN TRIAL TOKEN>
추가 헤더, 여기서 <ORIGIN TRIAL TOKEN
> 는 오리진 트라이얼 등록 - HTTP 응답 헤더에
Content-Language
를 추가하여 대상 언어 - 사이트를 나타내기 위해 HTTP 응답 헤더에
Variants
를 추가합니다. 지원됩니다. - [선택사항] HTTP 응답에
Vary: Accept-Language
를 추가합니다. 콘텐츠 협상을 위한 캐시 키를 생성합니다. - 이러한 헤더를 설정하면 브라우저 언어만 트리거됩니다. 협상 (초기 요청을 다시 시작할 수 있는 가능성)을 출처입니다. 사이트가 사이트의 콘텐츠를 전송하는 사이트도 업데이트해야 합니다. 사용자의 Accept-Language 헤더보다 작아야 합니다 (아래 예시 참조).
3단계
Chrome M109 베타 이상에서 웹사이트를 로드하고 Accept-Language 문자열을 줄였습니다.
Accept-Language Reduction(언어 감소) GitHub에 문제나 의견을 제출하세요. 저장소를 사용합니다.
데모
오리진 트라이얼을 선택한 다국어 사이트의 데모 (소스 코드와 함께) https://reduce-accept-language.glitch.me/.
오리진 트라이얼( 소스 코드)를 https://reduce-accept-language-ot.glitch.me/.
예를 들어 example.com
는 ja
(일본어) 및 en
(영어)를 지원합니다. 가
요청은 다음과 같을 수 있습니다.
GET / HTTP/1.1
Host: example.com
Accept-Language: en
사이트는 allow-language를 사용하세요. 응답 헤더에는 다음이 포함될 수 있습니다.
HTTP/1.1 200 OK
Content-Language: en
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token
사용자가 일본어 콘텐츠를 선호하는 경우 요청은 다음과 같습니다.
GET / HTTP/1.1
Host: example.com
Accept-Language: ja
이 경우 사이트는 일본어 콘텐츠 헤더로 응답합니다.
HTTP/1.1 200 OK
Content-Language: ja
Variants: Accept-Language=(en ja)
Origin-Token: a-valid-token
서버 측에서는 특정 언어 지원이 필요할 수 있지만 지원이 감지되지 않는 경우 기본값으로 돌아갑니다.
if(accept_language == 'ja') {
res.response('ja_page')
}
else {
res.response('en_page')
}
위의 예에서 example.com
는 다음에 따라 en
또는 ja
로 응답합니다.
Accept-Language
값이며, 일치하는 항목이 없으면 기본값은 en
입니다. 이 경우
사이트에서 해당 언어 페이지로 리디렉션되도록 할 수도 있습니다. /en
또는
Accept-Language
값에 따른 /ja
와(과) 관련된 자세한 예 보기
리디렉션 사용
구현 문서를 참조하세요.
서드 파티 오리진 트라이얼 지원
현재 Google은 도메인을
타사에 제공합니다.
여러 출처에서 하위 리소스로 구현되는 서비스를 운영하는 경우
(예: 광고 게재 또는 분석)에 비해 감소된
최상위 사이트가 출처에 참여하는 경우 Accept-Language
헤더
무료 체험판입니다.
오리진 트라이얼이 작동하는지 확인
가이드 Chrome 오리진 트라이얼 문제 해결 에서는 토큰이 올바르게 구성되었는지 확인하기 위한 전체 체크리스트를 제공합니다.
여러 언어와 언어 우선순위는
chrome://settings/languages
또는 설정 → 언어.
사이트에서 지원하지 않는 언어를 사용하고 이를 목록의 상단으로 이동합니다.
추가 재협상이 트리거되도록 합니다
오리진 트라이얼 토큰이 포함된 초기 응답의 헤더는 예를 들면 다음과 같습니다.

축소된 Accept-Language를 포함하는 후속 요청 헤더는 다음과 같습니다.

오리진 트라이얼 참여 중지
평가판 기간 중 언제든지 참여를 중지할 수 있습니다. 사용자의 동의 언어의 전체 목록을 수신합니다. 참여를 중지하려면 다음 단계를 따르세요.
- Accept-Language 축소를 위한
Origin-Trial
헤더 삭제 시도해야 합니다 - [선택사항] 배포를 선택하기 위해 추가된
Variants
헤더 삭제 HTTP 응답에서 오리진 트라이얼을 사용하거나 이 헤더에 있는 경우 빈 값과 함께Variants
를 사용하여 실행할 수도 있습니다. 이거죠. - [선택사항] 다음에 추가된
Content-Language
헤더를 삭제합니다. HTTP 응답에서 오리진 트라이얼을 수락하고 싶지 않다면 이 헤더를 전송합니다.
오리진 트라이얼 기간
Accept-Language 감소 오리진 트라이얼은 최소 6개월 동안 진행되므로 이는 약 6개의 Chrome 마일스톤에 해당합니다. 오리진 트라이얼이 표시됩니다. M109로 끝나고 M114로 끝납니다 (평가판이 포함된 마지막 Chrome 버전을 뜻함). 사용 가능). 이때 Chrome은 원본의 의견을 평가합니다. 축소된 Accept-Language 문자열을 먼저 Accept-Language HTTP 헤더를 줄인 다음 JS 인터페이스입니다. 사이트에서 테스트에 시간이 더 필요한 경우 지원 중단 오리진 트라이얼을 통해 향후 6개월 동안 Accept-Language 문자열을 사용해야 합니다. 더 많은 리소스가 게시될 예정입니다. 준비가 되면 지원 중단 기능 트라이얼에 대한 세부정보를 확인하세요.
의견 공유
Accept-Language Reduction(언어 감소) GitHub에 문제나 의견을 제출하세요. 저장소를 사용합니다.