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 จะเข้าใจว่าผู้ดูแลระบบเครือข่ายจำเป็นต้องมีสิทธิ์เข้าถึงการไปยังหน้าเว็บที่ดึงข้อมูลล่วงหน้า (ดูโหมด Preflight) - หากการตอบกลับเป็นค่าอื่น Chrome จะใช้ทรัพยากรที่ดึงข้อมูลล่วงหน้าโดยตรง และจะไม่ทำการค้นหา DNS เพิ่มเติมเมื่อผู้ใช้ไปยังหน้าเว็บที่ดึงข้อมูลล่วงหน้า
ผลลัพธ์ของการตรวจสอบนี้จะมีผลจนกว่าจะรีสตาร์ท Chrome หรือจนกว่าอินเทอร์เฟซเครือข่ายจะเปลี่ยนแปลง ซึ่งจะทริกเกอร์การค้นหา DNS ใหม่สำหรับ dns-tunnel-check.googlezip.net
โดยอาจมีผลลัพธ์ที่แตกต่างกัน
โหมดตรวจสอบก่อนส่ง
ในโหมดนี้ ก่อนที่จะไปยังหน้าเว็บที่ดึงข้อมูลล่วงหน้าผ่านพร็อกซีการดึงข้อมูลล่วงหน้าแบบส่วนตัว Chrome จะออกการค้นหา DNS สำหรับโดเมนที่เกี่ยวข้อง และรอจนกว่าจะได้รับการตอบกลับ
- หากการตอบกลับประกอบด้วยชุดที่อยู่ IP ที่ไม่ว่างเปล่า Chrome จะดำเนินการไปยังส่วนต่างๆ ต่อไปโดยใช้ทรัพยากรที่ดึงข้อมูลล่วงหน้า
- หากการตอบกลับเป็น
REFUSED
(แนะนำ) หรือNXDOMAIN
Chrome จะไม่ดำเนินการนำทางต่อ แต่จะแสดงหน้าข้อผิดพลาด DNS ที่เกี่ยวข้องแทน