게시일: 2025년 2월 12일
Google 검색은 웹에서 가장 인기 있는 사이트 중 하나이자 가장 빠른 사이트 중 하나입니다. Google 검색팀은 검색 환경을 더 빠르게 만들기 위해 지속적으로 투자하고 있습니다. Google 검색과 같이 인기 있는 페이지에서는 밀리초 단위의 개선도 빠르게 누적됩니다. 속도에 대한 관심에는 잘 알려진 Google 홈페이지, 검색 엔진 결과 페이지 (SERP), 검색 결과에서 다른 사이트로의 클릭이 포함됩니다.
Google 검색에서는 Speculation Rules API를 사용하여 검색 결과 페이지에서 결과 링크로의 탐색 속도를 개선하고 있으며, 다른 사이트 소유자에게도 유용할 수 있는 API의 몇 가지 기능을 사용하고 있습니다.
처음 두 결과를 미리 가져오기
추측 규칙의 첫 번째 사용 사례 중 하나는 처음 두 개의 검색 결과를 미리 가져오는 것이었습니다. 예를 들어 '테스트'를 검색하면 페이지에 다음 추측 규칙이 포함됩니다.
{
"prefetch": [{
"source": "list",
"requires": [
"anonymous-client-ip-when-cross-origin"
],
"referrer_policy": "strict-origin",
"urls": [
"https://www.merriam-webster.com/dictionary/test",
"https://dictionary.cambridge.org/dictionary/english/test"
]
}]
}
하단의 두 URL은 처음 두 검색 결과이며 즉시 사전 가져오기가 실행됩니다. 사용자가 이를 클릭하면 HTML 문서를 브라우저에서 이미 사용할 수 있으므로 빠르게 시작할 수 있습니다.
규칙과 프리패치 시도는 DevTools 애플리케이션 -> 추측 탭에서 이전에 설명한 대로 확인할 수 있습니다.
개인 정보 보호 프리패치
이러한 링크는 다른 사이트의 콘텐츠를 위한 것이므로 사용자가 아직 해당 사이트를 방문하지 않았기 때문에 프리패치를 위한 몇 가지 추가 개인 정보 보호 고려사항이 있습니다.
다행히도 API는 이러한 점을 염두에 두고 설계되었으며 Google 검색은 사용자 개인 정보를 보호하기 위해 두 가지 기능을 사용하고 있습니다.
첫 번째는 requires 구성을 사용하여 프리패치가 Chrome의 비공개 프리패치 프록시를 사용하도록 하는 것입니다.
"requires": [
"anonymous-client-ip-when-cross-origin"
],
이렇게 하면 사용자가 검색 결과 페이지에서 링크를 클릭하여 사이트로 이동하기 전에 사용자의 IP가 사이트에 유출되지 않도록 프록시를 사용하여 연결 시 IP 주소가 익명화됩니다.
둘째, Google 검색은 referrer_policy 설정을 사용하여 검색 페이지의 URL에 인코딩된 세부정보가 referer HTTP 헤더의 사이트로 전송되지 않도록 합니다.
"referrer_policy": "strict-origin",
이제 대부분의 브라우저가 strict-origin-when-cross-origin을 기본값으로 사용하지만 이 설정은 동일 출처 프리패치에도 strict-origin 리퍼러 정책을 사용하도록 더 엄격한 설정을 사용합니다.
사용자에게 사이트의 쿠키가 있는 경우 세 번째 보호 조치가 자동으로 적용됩니다. 이 경우 쿠키에 따라 다른 결과가 표시될 수 있으며 Chrome에서 미리 가져온 HTML을 사용하지 않습니다.
즉, 쿠키가 있는 사용자는 해당 사이트를 클릭할 때 사전 가져오기에서 제공하는 성능 개선의 이점을 누릴 수 없지만 개인 정보 보호와 정확한 페이지 로드가 우선시됩니다. 또한 사용자가 이미 사이트를 방문하여 해당 사이트의 쿠키가 있는 경우 해당 사이트의 일부 애셋이 캐시되어 있을 가능성이 높으며, 프리패치를 하지 않아도 페이지 로드 속도가 더 빠를 수 있습니다.
처음 두 결과를 미리 가져오는 것이 사용자에게 미치는 영향
대부분의 변경사항과 마찬가지로 Google 검색은 A/B 테스트 실험에서 미리 가져오기를 출시하고 그 영향을 측정했습니다. 최대 콘텐츠 렌더링 시간 (LCP)이 크게 개선되었습니다. Android용 Chrome에서 Google 검색의 클릭 LCP가 67밀리초 감소했습니다. 데스크톱 Chrome의 후속 출시로 LCP가 58.6밀리초로 유사하게 개선되었습니다. 이는 Google 검색 사이트 자체가 아닌 탐색되는 사이트의 개선사항이지만 Google 검색 사용자에게는 유용합니다.
LCP의 이러한 개선사항은 미미해 보일 수 있지만 Google 검색과 같이 고도로 최적화된 사이트에서는 밀리초 단위의 개선도 사용자에게 큰 의미가 있으므로 수십 밀리초 범위의 개선은 매우 이례적입니다. 사이트에서 훨씬 더 큰 이점을 얻을 수 있습니다. 사용해 보세요.
추측 규칙을 사용한 미리 가져오기는 2022년 10월부터 Android의 검색에서 기본적으로 사용 설정되었으며 2024년 9월까지 데스크톱으로 출시되었습니다.
처음 두 개의 결과 외
Speculation Rules API가 처음 출시된 이후 사용자가 링크 위로 마우스를 가져가거나 링크를 클릭하기 시작할 때만 추측이 발생하도록 의욕 속성으로 개선되었습니다.
Google 검색은 처음 두 개의 검색 결과 외에도 나머지 검색 결과를 미리 가져오기로 결정했습니다. 단, 사용자가 moderate eagerness 설정을 사용하여 링크 위로 마우스를 가져갈 때만 가능합니다. 이렇게 하면 클릭될 가능성이 낮은 링크에 리소스가 불필요하게 낭비되지 않습니다.
Chrome에서 검색할 때 DevTools에 규칙이 표시되며 이전 규칙과 동일하지만 이번에는 "eagerness": "moderate" 옵션이 설정되어 있습니다.
이러한 링크 위로 마우스를 가져가면 프리패치가 트리거됩니다. Google 검색은 광고와 같은 다른 URL을 프리패치하지 않으므로 Speculation Rules API의 문서 규칙 기능을 사용하는 대신 URL을 명시적으로 나열합니다.
처음 두 결과를 초과하는 결과의 미리 가져오기가 사용자에게 미치는 영향
데스크톱 Chrome은 Google 검색에서 탐색의 콘텐츠가 포함된 첫 페인트 (FCP)를 7.6밀리초, LCP를 9.5밀리초 줄였습니다 (A/B 테스트에서 확인됨). 이는 처음 두 결과에서 확인된 58.6밀리초 개선사항에 비해 작은 개선사항이지만, 적극적으로 미리 가져오지 않으므로 리드 타임이 더 짧다는 점을 고려하면 놀라운 일은 아닙니다. 하지만 앞서 언급한 이유로 여전히 좋은 이득입니다.
데스크톱에서 나머지 검색 결과의 프리패치는 2024년 12월에 기본적으로 출시되었습니다.
마우스 오버를 사용할 수 없는 모바일에서는 실제 개선이 확인되지 않았으므로 회귀는 없었지만 이러한 추가 프리패치는 모바일에서 사용 설정되지 않았습니다.
Google 검색을 위한 추측의 추가 사용
Google은 이 흥미로운 새 API를 실험하는 중이며, 웹 탐색을 최대한 빠르게 만드는 것을 목표로 하고 있습니다. Google에서는 몇 가지 다른 방법을 개발하고 있습니다.
한 가지 예로, 사용자가 Chrome 주소 표시줄과 Android의 검색창과 같은 다른 위치에 검색어를 입력하면 Chrome은 미리 렌더링된 검색 결과 페이지를 로드합니다(미리 로드가 사용 설정된 사용자 대상). 이 기능은 Google 검색뿐만 아니라 다른 검색엔진에서도 구현할 수 있습니다. 현재 다른 검색엔진의 구현은 알려져 있지 않습니다.
Google 검색은 결과 링크 자체에 사전 렌더링을 구현하지 않습니다. 이는 교차 사이트 탐색에 사용할 수 없으며 동일 사이트, 교차 출처 사전 렌더링을 선택해야 하기 때문입니다.
브라우저 지원에 관한 참고사항
현재 Speculation Rules API는 Chromium 기반 브라우저에서 구현되지만 Chrome은 W3C 표준 프로세스를 통해 API 사양을 게시하고 있으며 다른 브라우저에서도 이 API를 구현하기를 바랍니다.
비공개 프리페치 프록시는 현재 Chrome에만 구현되어 있으며 다른 Chromium 기반 브라우저에는 구현되어 있지 않습니다. 하지만 다른 브라우저에서 자체 비공개 프리페치 프록시를 구현하는 경우 Google 검색에서도 이러한 개선사항을 구현할 수 있습니다.
비공개 미리 가져오기 프록시 없이 미리 가져오기를 하면 개인 정보 보호에 문제가 발생할 수 있으므로 Google 검색은 이 기술을 지원하지 않는 브라우저에서는 미리 가져오기를 하지 않으며, 다른 브라우저를 위해 다른 기술을 사용한 대체도 구현하지 않았습니다. 하지만 점진적 개선이므로 이러한 브라우저의 사용자는 약간의 속도 향상 혜택을 누릴 수 없습니다.
사이트에서 사용해 보세요.
Speculation Rules API는 Google 검색뿐만 아니라 모든 사이트에서 사용할 수 있습니다. 여기에서 설명한 미리 가져오기 기능 외에도 사전 렌더링은 사용할 수 있는 경우 추가적인 이점을 제공합니다. Google 검색과 같은 대규모 사이트에서 사용자 환경에 이 API가 제공하는 명확한 이점을 보여주므로 모든 사이트 소유자는 API를 사용하고 API의 이점을 누릴 수 있는 방법을 살펴보시기 바랍니다.
또한 이 게시물에 자세히 설명된 개인 정보 보호 조치는 다른 사이트에서도 사용할 수 있습니다. 단, Google 이외의 사이트가 Google의 비공개 프리패치 프록시를 사용하여 트래픽을 라우팅하려면 사용자가 설정에서 확장된 프리로드 지원을 사용 설정해야 합니다. Google 사이트는 이미 관련 당사자 중 하나이므로 Google 사이트에서는 필요하지 않지만, 이로 인해 사용자와 사이트 사이에 Google이 추가 당사자로 도입되기 때문입니다.