Proxy tìm nạp trước riêng tư trong Chrome dành cho quản trị viên mạng

Để cải thiện thời gian tải trang cho người dùng, đôi khi Chrome sẽ tìm nạp trước các đường liên kết trên trang kết quả của Google Tìm kiếm và các trang web tham gia khác trước khi người dùng nhấp vào các đường liên kết đó. Tính năng này được mô tả chi tiết trong bài viết này từ góc độ kỹ thuật.

Tính năng này dựa trên proxy CONNECT. Proxy này sẽ ẩn địa chỉ IP của người dùng khỏi trang web cần tìm nạp trước. Đổi lại, điều này vốn sẽ di chuyển thiết lập kết nối ra khỏi chế độ xem của quản trị viên mạng.

Đồng thời, chúng tôi nhận thấy rằng quản trị viên mạng có thể cần phải lọc nội dung. Do đó, chúng tôi đã thiết kế một cơ chế giúp quản trị viên mạng tiếp tục làm như vậy nếu người dùng nhấp vào liên kết được tìm nạp trước.

Lọc nội dung

Để bảo vệ quyền riêng tư của người dùng, Chrome sẽ không thực hiện bất kỳ hoạt động tra cứu DNS có thể ghi nhận được nào khi tìm nạp trước các đường liên kết. Nếu người dùng truy cập vào một đường liên kết được tìm nạp trước, thì các tài nguyên của trang sẽ được tìm nạp từ bộ nhớ đệm cục bộ mà không cần thực hiện thao tác tra cứu DNS có thể quan sát được. Một hiệu ứng phụ là tính năng lọc nội dung có thể không hoạt động như dự kiến khi người dùng điều hướng đến đường liên kết được tìm nạp trước.

Để cho phép quản trị viên mạng lọc nội dung trên các thành phần điều hướng được tìm nạp trước này, chúng tôi đã thiết kế một cơ chế báo hiệu để hướng dẫn Chrome thực hiện tra cứu DNS khi người dùng nhấp vào đường liên kết được tìm nạp trước. Quá trình tra cứu DNS này sẽ diễn ra cùng lúc và theo cùng cách như khi quá trình tìm nạp trước không xảy ra, cung cấp cho các quản trị viên cơ hội tương tự để lọc nội dung. Chrome sẽ tạm dừng tải các tài nguyên đã tìm nạp trước từ bộ nhớ đệm cho đến khi lần tra cứu DNS thứ hai này thành công. Nếu không thành công, Chrome sẽ không sử dụng các tài nguyên đã tìm nạp trước mà sẽ tải trang theo cách thông thường. Xin lưu ý rằng điều này sẽ làm người dùng bị phạt về hiệu suất do Chrome phải đợi quá trình tra cứu DNS hoàn tất.

Thông tin chi tiết về cơ chế báo hiệu

Đối với những người dùng chưa tắt tính năng tải trước trang, Chrome sẽ thực hiện không đồng bộ quá trình tra cứu DNS cho dns-tunnel-check.googlezip.net khi Chrome khởi động hoặc khi thay đổi giao diện mạng.

Dưới đây là những kết quả có thể xảy ra đối với quá trình kiểm tra dns-tunnel-check.googlezip.net:

  • Nếu phản hồi là NXDOMAIN hoặc SERVFAIL, hoặc nếu mã phản hồi NOERROR được trả về nhưng không chứa bản ghi AAAAA, thì Chrome sẽ hiểu rằng quản trị viên mạng cần nắm rõ các lượt điều hướng đến các trang đã được tìm nạp trước (xem Chế độ kiểm tra trước).
  • Nếu phản hồi là bất kỳ giá trị nào khác, thì Chrome sẽ trực tiếp sử dụng các tài nguyên đã tìm nạp trước và sẽ không thực hiện bất kỳ hoạt động tra cứu DNS bổ sung nào khi người dùng chuyển đến trang được tìm nạp trước.

Kết quả của quá trình kiểm tra này sẽ giữ nguyên cho đến khi Chrome khởi động lại hoặc cho đến khi giao diện mạng thay đổi. Việc này sẽ kích hoạt quá trình tra cứu DNS mới cho dns-tunnel-check.googlezip.net, với kết quả có thể khác.

Chế độ kiểm tra

Ở chế độ này, trước khi điều hướng đến một trang được tìm nạp trước qua proxy tìm nạp trước riêng tư, Chrome sẽ cấp phép tra cứu DNS cho miền có liên quan và đợi cho đến khi có phản hồi:

  • Nếu phản hồi bao gồm một tập hợp địa chỉ IP không trống, Chrome sẽ tiếp tục điều hướng bằng cách sử dụng các tài nguyên được tìm nạp trước.
  • Nếu phản hồi là REFUSED (ưu tiên) hoặc NXDOMAIN, Chrome sẽ không tiếp tục điều hướng mà sẽ hiển thị trang lỗi DNS liên quan.