TL;DR
- Chromium은 사용자가 기본 검색 엔진(DSE)의 검색 추천을 선택할 때, 해당 엔진이 사전 동의한 경우 위치 정보를 X-Geo HTTP 헤더로 전송할 수 있으며 검색 엔진은 추가 위치 API 호출 없이 지역화된 결과를 제공할 수 있음
- 기본 검색 엔진 제공업체는 Chromium 검색 엔진 데이터에서 send_x_geo_header 속성을 활성화해야 수신 대상이 됨
- 헤더는
X-Geo: w <base64url_encoded_protobuf>형식이며 Base64Url로 인코딩된 프로토콜 버퍼 메시지를 포함함 - Chromium은 여러 요인과 트리거를 기준으로 검색 요청에 X-Geo 헤더를 때때로 첨부함
- 바이너리 페이로드는
omnibox.LocationDescriptor프로토콜 버퍼 메시지이며 스키마는components/omnibox/browser/proto/partner_location_descriptor.proto에 정의됨
개요
- 이 문서는 Chromium이 자격을 갖춘 기본 검색 엔진 제공업체에 보내는 X-Geo 위치 정보 헤더를 설명함
- 사용자가 Chromium에서 기본 검색 엔진을 사용해 검색 추천을 선택하면 Chromium이 선택적으로 사용자의 지리적 위치를 X-Geo HTTP 헤더에 첨부함
- 이를 통해 검색 엔진은 페이지 로드 이후 추가적인 자바스크립트 지리 위치 API(JavaScript Geolocation API) 사용과 후속 새로고침 없이 초기 탐색에서 지역화된 검색 결과를 반환할 수 있음
- 예시는 주변 업체와 지역 날씨임
자격 요건 및 옵트인 요구 사항
- 이 기능이 작동하려면 기본 검색 엔진(DSE) 제공업체가 Chromium의 검색 엔진 데이터에서 헤더 수신을 옵트인하도록 설정해야 함
- X-Geo 헤더 수신을 위해 Chromium에 엔진 정의를 설정하려는 검색 엔진 제공업체는
//third_party/search_engines_data/README.chromium의 지침에 따라send_x_geo_header속성을true로 설정해야 함 - DSE가 옵트인하면 Chromium은 여러 요인과 트리거를 기준으로 때때로 검색 요청에 X-Geo 헤더를 전송함
HTTP 헤더 형식
- 검색 요청에 첨부되는 헤더 형식은
X-Geo: w <base64url_encoded_protobuf>임 - 접두사(
w)는 항상 ASCII 문자w와 공백으로 시작하며, 바이트 값은0x77 0x20임 - 이 접두사는 해당 문자열이 X-Geo 프로토콜을 따르는 Base64 인코딩 프로토콜 버퍼 메시지임을 식별함
w접두사 뒤의 바이너리 프로토콜 버퍼 페이로드는 Base64Url로 인코딩됨- 인코딩 규격은 RFC 4648 섹션 5이며 URL 안전 문자 집합
A-Z,a-z,0-9,-,_를 사용하고 패딩 문자=를 포함함
프로토콜 버퍼 사양
- 바이너리 페이로드를 디코딩하면
omnibox.LocationDescriptor프로토콜 버퍼 메시지가 됨 .proto스키마는 Chromium의components/omnibox/browser/proto/partner_location_descriptor.proto에 정의됨
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요