Googlebot에서 곧 HTTP/2를 사용할 예정입니다

2020년 9월 17일 목요일

2020년 11월부터 Googlebot이 HTTP/2를 통해 일부 사이트를 크롤링하기 시작합니다.

주류 브라우저가 다음 메이저 버전의 HTTP인 HTTP/2(간단히 h2)를 지원하기 시작한 이후로 웹 전문가는 Googlebot이 업그레이드된 최신 버전의 프로토콜을 통해 크롤링할 수 있는지 Google에 문의해 왔습니다.

2020년 11월 중순부터 Googlebot이 일부 사이트에 대해 HTTP/2를 통한 크롤링을 지원한다는 소식을 알려드립니다.

HTTP/2란?

앞에서 언급한 것처럼 HTTP/2는 인터넷에서 데이터 전송에 주로 사용하는 프로토콜인 HTTP의 다음 메이저 버전의 HTTP입니다. HTTP/2는 아키텍처 및 클라이언트(예: 브라우저)와 서버에 구현하는 기능 덕분에 이전 버전보다 훨씬 더 강력하고 효율적이고 빠릅니다. 자세한 내용을 보고 싶다면 HTTP/2 주제에 관한 자세한 문서를 확인해 보세요.

이렇게 변경하는 이유

일반적으로 이러한 변경을 통해 서버 리소스 활용 측면에서 크롤링 효율이 높아질 것으로 예상됩니다. h2를 사용하면 Googlebot이 여러 연결을 요구하지 않고 서버와의 단일 TCP 연결을 열고 이 연결을 통해 여러 파일을 동시에 효율적으로 전송할 수 있습니다. 열려 있는 연결이 적을수록 서버와 Googlebot이 크롤링에 소비해야 하는 리소스가 줄어듭니다.

작동 방식

첫 단계에서는 h2를 통해 소수의 사이트를 크롤링하고 요청 다중화와 같은 초기 지원 기능의 이점을 누릴 수 있는 더 많은 사이트로 점차 확대할 예정입니다.

Googlebot은 사이트가 h2를 지원하는지 여부와 HTTP/2를 통한 크롤링이 사이트와 Googlebot에 도움이 되는지 여부에 따라 h2를 통해 크롤링할 사이트를 결정합니다. 서버가 h2를 지원하고 Googlebot이 이미 사이트에서 많은 항목을 크롤링하고 있다면 이미 연결 업그레이드의 요건이 충족되었을 수 있으므로 아무런 조치를 취하지 않아도 됩니다.

서버가 여전히 HTTP/1.1만 이용해도 괜찮습니다. HTTP/1.1을 통한 크롤링에 확실한 단점은 없으며 품질과 수량 측면에서 동일하게 진행됩니다.

선택 해제 방법

Google의 예비 테스트 결과 색인 생성에 문제나 부정적인 영향은 없었습니다. 하지만 다양한 이유로 HTTP/2를 통한 사이트 크롤링을 원하지 않을 수 있습니다. HTTP/2를 통한 사이트 크롤링을 선택 해제하려면 Googlebot이 h2를 통해 사이트를 크롤링하려고 할 때 421 HTTP 상태 코드로 응답하도록 서버에 지시하면 됩니다. 이 방법이 가능하지 않다면 Googlebot팀에 메시지를 보내면 됩니다(단, 이 방법은 일시적임).

Googlebot과 HTTP/2에 관해 궁금한 점이 있으면 질문과 답변을 확인하세요. 궁금한 점에 관련된 질문이 없으면 Twitter도움말 포럼에서 Google에 문의하세요.

질문과 답변

지금 Googlebot을 업그레이드하는 이유는 무엇인가요?

Googlebot이 h2를 통해 크롤링할 수 있도록 Google이 사용하는 소프트웨어가 프로덕션 단계에 사용할 수 있을 만큼 안정되었습니다.

최대한 빨리 서버를 업그레이드해야 하나요?

개발자의 선택입니다. 하지만 Google은 h2를 지원하고 이를 통해 명백히 이점을 얻는 사이트에 한해 h2를 통한 크롤링으로 전환할 것입니다. h2를 통한 크롤링에 명확한 이점이 없다면 Googlebot은 계속 h1을 통해 크롤링합니다.

내 사이트가 h2를 지원하는지 테스트하려면 어떻게 해야 하나요?

Cloudflare에서 사이트가 h2를 지원하는지 테스트하는 다양한 방법을 설명하는 블로그 게시물을 참고하세요.

내 사이트를 h2로 업그레이드하려면 어떻게 해야 하나요?

서버에 따라 다릅니다. 서버 관리자나 호스팅 업체에 문의하시기 바랍니다.

Googlebot이 h2를 통해 내 사이트를 크롤링하도록 설정하려면 어떻게 하나요?

그렇게 할 수 없습니다. 사이트가 h2를 지원하는 경우 h2를 통한 사이트 크롤링 요건이 충족되지만 사이트와 Googlebot에 도움이 되는 경우에만 크롤링됩니다. 예를 들어 h2를 통해 크롤링해도 리소스가 눈에 띄게 절약되지 않는 경우 계속 HTTP/1.1을 통해 사이트를 크롤링합니다.

모든 h2 지원 사이트를 h2를 통해 크롤링하지 않는 이유는 무엇인가요?

Google의 평가 결과 h2를 통해 크롤링할 때 특정 사이트(예: QPS가 매우 낮은 사이트)에는 거의 또는 전혀 도움이 되지 않습니다. 따라서 사이트에 확실한 이점이 있는 경우에만 크롤링을 h2로 전환하기로 결정했습니다. Google에서는 지속적으로 성능 개선을 평가할 예정이며 향후 전환 기준을 변경할 수도 있습니다.

내 사이트가 h2를 통해 크롤링되는지 어떻게 알 수 있나요?

사이트가 h2를 통한 크롤링 요건을 충족하게 되면 Search Console에 등록된 사이트 소유자는 일부 크롤링 트래픽이 앞으로 h2를 통해 처리될 수 있다는 메시지를 받게 됩니다. 서버 로그(예: 사이트를 Apache에서 실행 중인 경우 access.log 파일)에서도 확인할 수 있습니다.

Googlebot에서 어떤 h2 기능을 지원하나요?

Googlebot은 h2에 도입된 대부분의 기능을 지원합니다. 렌더링에 도움이 될 수 있는 서버 푸시와 같은 일부 기능은 아직 평가 중입니다.

Googlebot은 일반 텍스트 HTTP/2(h2c)를 지원하나요?

아니요. HTTP/2를 통한 크롤링 요건을 충족하려면 웹사이트에서 HTTPS를 사용하고 HTTP/2를 지원해야 합니다. 이는 최신 브라우저에서 처리되는 방식과 같습니다.

Googlebot은 크롤링에 사용할 프로토콜 버전을 결정하기 위해 ALPN 확장 프로그램을 사용할 예정인가요?

애플리케이션 레이어 프로토콜 협상(ALPN)은 h2를 통해 크롤링하도록 선택한 사이트에만 사용되며 응답에 허용되는 유일한 프로토콜은 h2입니다. h2 이외의 프로토콜 버전과의 TLS 핸드셰이크 중에 서버가 응답하는 경우 Googlebot은 백오프 후 다시 HTTP/1.1로 돌아옵니다.

다양한 h2 기능이 크롤링에 어떻게 도움이 되나요?

h2의 가장 중요한 이점은 다음과 같습니다.

  • 다중화 및 동시 실행: 열려 있는 TCP 연결이 적을수록 리소스 소비가 적습니다.
  • 헤더 압축: HTTP 헤더 크기를 대폭 줄여 리소스를 절약합니다.
  • 서버 푸시: 이 기능은 평가 단계에 있으며 아직 적용되지 않습니다. 렌더링에 도움이 될 수 있지만 현재로서는 구체적으로 언급할 사항이 없습니다.

특정 h2 기능 및 해당 기능과 크롤링의 관계에 관해 자세히 알아보려면 Twitter에서 Google에 문의하세요.

Googlebot은 h2를 통해서 할 때 더 많이 또는 더 빠르게 크롤링하나요?

h2의 주요 이점은 서버 측과 Googlebot 측 모두에서 리소스를 절약한다는 점입니다. 크롤링에 h1과 h2 중 어떤 것을 사용하는지는 사이트의 색인 생성 방식에 영향을 미치지 않으므로 사이트에서 크롤링할 수량에는 영향을 미치지 않습니다.

h2를 통해 크롤링될 때 사이트에 순위상의 이점이 있나요?

없습니다.