사용자의 페이지 로드 시간을 개선하기 위해 Chrome은 사용자가 링크를 클릭하기 전에 Google 검색결과 페이지 및 기타 참여 웹사이트의 링크를 미리 가져오는 경우가 있습니다. 이 기능은 이 도움말에 기술적인 관점에서 자세히 설명되어 있습니다.
이 기능은 미리 가져와야 하는 웹사이트에서 사용자의 IP 주소를 숨기는 CONNECT
프록시를 사용합니다. 이 경우 본질적으로 연결 설정이 네트워크 관리자의 뷰 밖으로 이동합니다.
하지만 네트워크 관리자가 콘텐츠를 필터링해야 하는 경우도 있다는 것도 알고 있습니다. 따라서 Google은 사용자가 미리 가져온 링크를 클릭하는 경우 네트워크 관리자가 계속해서 링크를 클릭할 수 있도록 하는 메커니즘을 고안했습니다.
콘텐츠 필터링
사용자의 개인 정보를 보호하기 위해 Chrome은 링크를 미리 가져올 때 관측 가능한 DNS 조회를 실행하지 않습니다. 사용자가 미리 가져온 링크로 이동하면 페이지 리소스를 관측 가능한 DNS 조회 없이 로컬 캐시에서 가져옵니다. 한 가지 부작용은 사용자가 미리 가져온 링크로 이동할 때 콘텐츠 필터링이 의도한 대로 작동하지 않을 수 있다는 것입니다.
네트워크 관리자가 미리 가져온 탐색에서 콘텐츠를 필터링할 수 있도록, Google은 사용자가 미리 가져온 링크를 클릭할 때 Chrome에서 DNS 조회를 실행하도록 지시하는 신호 메커니즘을 설계했습니다. DNS 조회는 미리 가져오기가 실행되지 않은 경우와 동시에 동일한 방식으로 발생하므로 관리자에게도 동일한 콘텐츠 필터링 기회를 제공합니다. Chrome은 두 번째 DNS 조회에 성공할 때까지 캐시에서 미리 가져온 리소스의 로드를 일시중지합니다. 페이지 로드에 실패하면 Chrome은 미리 가져온 리소스를 사용하지 않고 평소처럼 페이지를 로드합니다. 이로 인해 Chrome이 DNS 조회가 완료될 때까지 기다려야 하므로 사용자에게 성능 저하가 발생합니다.
신호 메커니즘 세부정보
페이지 미리 로드를 사용 중지하지 않은 경우 Chrome은 Chrome이 시작될 때 또는 네트워크 인터페이스가 변경될 때 dns-tunnel-check.googlezip.net
에 대해 비동기식으로 DNS 조회를 실행합니다.
dns-tunnel-check.googlezip.net
검사의 가능한 결과는 다음과 같습니다.
- 응답이
NXDOMAIN
또는SERVFAIL
이거나NOERROR
응답 코드가 반환되었지만A
및AAAA
레코드가 모두 포함되어 있지 않은 경우 Chrome은 네트워크 관리자가 미리 가져온 페이지 탐색을 확인해야 한다는 것을 인식합니다 (프리플라이트 모드 참고). - 응답이 다른 값인 경우 Chrome은 미리 가져온 리소스를 직접 사용하며 사용자가 미리 가져온 페이지로 이동할 때 추가 DNS 조회를 실행하지 않습니다.
검사 결과는 Chrome이 다시 시작되거나 네트워크 인터페이스가 변경될 때까지 보류되며, 이로 인해 dns-tunnel-check.googlezip.net
에 대해 새로운 DNS 조회가 실행되어 결과가 달라질 수 있습니다.
프리플라이트 모드
이 모드에서는 비공개 미리 가져오기 프록시를 통해 미리 가져온 페이지로 이동하기 전에 Chrome이 관련 도메인에 대해 DNS 조회를 실행하고 응답이 반환될 때까지 기다립니다.
- 응답이 비어 있지 않은 IP 주소 집합으로 구성된 경우 Chrome은 미리 가져온 리소스를 사용하여 탐색을 진행합니다.
- 응답이
REFUSED
(권장) 또는NXDOMAIN
인 경우 Chrome은 탐색을 진행하지 않고 대신 관련 DNS 오류 페이지를 표시합니다.