ดึงพร็อกซีส่วนตัวล่วงหน้าใน Chrome สำหรับผู้ดูแลเครือข่าย

เพื่อปรับปรุงเวลาในการโหลดหน้าเว็บสำหรับผู้ใช้ บางครั้ง Chrome จะดึงข้อมูลลิงก์ในหน้าผลการค้นหาของ Google Search และเว็บไซต์อื่นๆ ที่เข้าร่วมไว้ล่วงหน้าก่อนที่ผู้ใช้จะคลิกลิงก์ดังกล่าว คุณสามารถดูคำอธิบายเกี่ยวกับฟีเจอร์นี้อย่างละเอียดในบทความนี้จากมุมมองทางเทคนิค

ฟีเจอร์นี้ใช้พร็อกซี CONNECT ซึ่งซ่อนที่อยู่ IP ของผู้ใช้จากเว็บไซต์ที่ต้องดึงข้อมูลล่วงหน้า ซึ่งจะส่งผลให้การตั้งค่าการเชื่อมต่อออกจากมุมมองของผู้ดูแลระบบเครือข่ายตามปกติ

ในขณะเดียวกัน เราตระหนักดีว่าผู้ดูแลระบบเครือข่ายอาจต้องกรองเนื้อหา ดังนั้น เราจึงออกแบบกลไกให้ผู้ดูแลระบบเครือข่ายทำต่อไปได้ในกรณีที่ผู้ใช้คลิกลิงก์ที่ดึงข้อมูลไว้ล่วงหน้า

การกรองเนื้อหา

Chrome จะไม่ออกการค้นหา DNS ที่สังเกตได้เมื่อดึงข้อมูลลิงก์ล่วงหน้า เพื่อรักษาความเป็นส่วนตัวของผู้ใช้ หากผู้ใช้ไปยังลิงก์ที่ดึงข้อมูลล่วงหน้า ระบบจะดึงทรัพยากรของหน้าจากแคชในเครื่องโดยไม่สร้างการค้นหา DNS ที่สังเกตได้ ผลข้างเคียงอย่างหนึ่งคือการกรองเนื้อหาอาจไม่ทำงานตามที่ต้องการเมื่อผู้ใช้ไปยังลิงก์ที่ดึงข้อมูลล่วงหน้า

เพื่อให้ผู้ดูแลระบบเครือข่ายกรองเนื้อหาในการนำทางที่ดึงข้อมูลล่วงหน้าเหล่านี้ได้ เราจึงออกแบบกลไกการส่งสัญญาณเพื่อสั่งให้ Chrome ดำเนินการค้นหา DNS เมื่อผู้ใช้คลิกลิงก์ที่ดึงข้อมูลล่วงหน้า การค้นหา DNS นี้จะเกิดขึ้นพร้อมกัน ในลักษณะเดียวกับที่ไม่มีการดึงข้อมูลล่วงหน้า ซึ่งทำให้ผู้ดูแลระบบมีโอกาสในการกรองเนื้อหา Chrome จะหยุดการโหลดทรัพยากรที่ดึงข้อมูลล่วงหน้าจากแคชไว้ชั่วคราวจนกว่าการค้นหา DNS ครั้งที่ 2 นี้จะเสร็จสมบูรณ์ หากไม่สำเร็จ Chrome จะไม่ใช้ทรัพยากรที่ดึงข้อมูลล่วงหน้าและจะโหลดหน้าเว็บตามปกติแทน โปรดทราบว่าการดำเนินการนี้จะก่อให้เกิดโทษด้านประสิทธิภาพสำหรับผู้ใช้เนื่องจาก Chrome ต้องรอให้การค้นหา DNS เสร็จสิ้น

รายละเอียดของกลไกการส่งสัญญาณ

สำหรับผู้ใช้ที่ไม่ได้ปิดใช้การโหลดหน้าล่วงหน้า Chrome จะออกการค้นหา DNS แบบไม่พร้อมกันสำหรับ dns-tunnel-check.googlezip.net เมื่อ Chrome เริ่มทำงานหรือเมื่อมีการเปลี่ยนแปลงอินเทอร์เฟซเครือข่าย

ผลลัพธ์ที่เป็นไปได้สำหรับการตรวจสอบ dns-tunnel-check.googlezip.net มีดังนี้

  • หากการตอบกลับคือ NXDOMAIN หรือ SERVFAIL หรือหากมีการส่งคืนโค้ดตอบกลับ NOERROR แต่ไม่มีระเบียน A หรือ AAAA เลย Chrome จะเข้าใจว่าผู้ดูแลระบบเครือข่ายจำเป็นต้องเข้าถึงการนำทางไปยังหน้าที่ดึงข้อมูลล่วงหน้า (ดูโหมดการตรวจสอบล่วงหน้า)
  • หากการตอบสนองเป็นค่าอื่น Chrome จะใช้ทรัพยากรที่ดึงข้อมูลล่วงหน้าโดยตรง และจะไม่ออกการค้นหา DNS เพิ่มเติมเมื่อผู้ใช้ไปที่หน้าที่ดึงข้อมูลล่วงหน้า

ผลการตรวจสอบนี้จะระงับไว้จนกว่าจะมีการรีสตาร์ท Chrome หรือจนกว่าอินเทอร์เฟซเครือข่ายจะเปลี่ยนแปลง ซึ่งจะทริกเกอร์การค้นหา DNS ใหม่สําหรับ dns-tunnel-check.googlezip.net ซึ่งอาจได้ผลลัพธ์ที่ต่างออกไป

โหมดการตรวจสอบล่วงหน้า

ในโหมดนี้ ก่อนไปยังหน้าที่ดึงข้อมูลล่วงหน้าผ่านพร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัว Chrome จะออกการค้นหา DNS สำหรับโดเมนที่เกี่ยวข้อง และรอจนกว่าจะมีการตอบสนองกลับมา

  • หากการตอบสนองประกอบด้วยชุดที่อยู่ IP ที่ไม่ว่างเปล่า Chrome จะดำเนินการนำทางโดยใช้ทรัพยากรที่ดึงข้อมูลไว้ล่วงหน้า
  • หากการตอบสนองคือ REFUSED (แนะนำ) หรือ NXDOMAIN Chrome จะไม่ดำเนินการนำทาง แต่จะแสดงหน้าข้อผิดพลาด DNS ที่เกี่ยวข้องแทน