हमारे उपयोगकर्ताओं के लिए पेज लोड होने के समय को कम करने के लिए, Chrome कभी-कभी Google Search के नतीजों के पेज और इसमें शामिल अन्य वेबसाइटों पर मौजूद लिंक को प्रीफ़ेच करेगा. इसके बाद, उपयोगकर्ता उन लिंक पर क्लिक करेगा. तकनीकी नज़रिए से इस सुविधा के बारे में इस लेख में विस्तार से बताया गया है.
यह सुविधा CONNECT
प्रॉक्सी पर निर्भर है, जो उपयोगकर्ता के आईपी पते को उस वेबसाइट से छिपा देती है जिसे प्रीफ़ेच करना ज़रूरी है. इससे, कनेक्शन को नेटवर्क एडमिन के व्यू से बाहर ले जाया जाता है.
साथ ही, हम समझते हैं कि नेटवर्क एडमिन को कॉन्टेंट फ़िल्टर करना पड़ सकता है. इसलिए, हमने एक ऐसी तकनीक तैयार की है जिसके ज़रिए नेटवर्क एडमिन तब भी ऐसा करना जारी रख सकते हैं, जब उपयोगकर्ता किसी प्रीफ़ेच किए गए लिंक पर क्लिक करता है.
सामग्री फ़िल्टरिंग
उपयोगकर्ता की निजता बनाए रखने के लिए, Chrome लिंक को प्रीफ़ेच करते समय, पता लगाने वाला कोई भी डीएनएस लुकअप जारी नहीं करेगा. अगर उपयोगकर्ता किसी प्रीफ़ेच किए गए लिंक पर नेविगेट करता है, तो पेज के रिसॉर्स को लोकल कैश मेमोरी से फ़ेच किया जाएगा. ऐसा, मॉनिटर किए जा सकने वाले डीएनएस लुकअप के बिना किया जाएगा. इसका एक खराब असर यह है कि जब उपयोगकर्ता प्रीफ़ेच किए गए लिंक पर जाता है, तो हो सकता है कि कॉन्टेंट फ़िल्टर करने की सुविधा ठीक से काम न करे.
नेटवर्क एडमिन को इन प्रीफ़ेच किए गए नेविगेशन पर मौजूद कॉन्टेंट को फ़िल्टर करने की अनुमति देने के लिए, हमने Chrome को यह निर्देश देने के लिए एक सिग्नल सिस्टम तैयार किया है कि वह उपयोगकर्ता के प्रीफ़ेच किए गए लिंक पर क्लिक करने पर डीएनएस लुकअप जारी करे. यह डीएनएस लुकअप उसी समय और उसी तरह से होगा जैसे अगर प्रीफ़ेच नहीं हुआ था. इससे एडमिन को कॉन्टेंट को फ़िल्टर करने का एक जैसा मौका मिलेगा. Chrome तब तक कैश मेमोरी से प्रीफ़ेच किए गए संसाधनों को लोड करना रोक देगा, जब तक कि यह दूसरा डीएनएस लुकअप पूरा नहीं हो जाता. अगर पेज लोड नहीं हो पाता, तो Chrome प्रीफ़ेच किए गए संसाधनों का इस्तेमाल नहीं करेगा और इसके बजाय, पेज को सामान्य तरीके से लोड करेगा. ध्यान दें कि इससे उपयोगकर्ता को परफ़ॉर्मेंस पर जुर्माना लगता है. ऐसा इसलिए होता है, क्योंकि डीएनएस लुकअप के पूरा होने तक Chrome को इंतज़ार करना पड़ता है.
सिग्नलिंग मैकेनिज़्म की जानकारी
जिन उपयोगकर्ताओं ने पेज को पहले से लोड करने की सुविधा को बंद नहीं किया है उनके लिए, Chrome एसिंक्रोनस तरीके से, dns-tunnel-check.googlezip.net
के लिए डीएनएस लुकअप जारी करेगा. ऐसा, Chrome के शुरू होने या नेटवर्क इंटरफ़ेस में कोई बदलाव होने पर होगा.
dns-tunnel-check.googlezip.net
की जांच के संभावित नतीजे यहां दिए गए हैं:
- अगर रिस्पॉन्स
NXDOMAIN
याSERVFAIL
है याNOERROR
रिस्पॉन्स कोड दिखता है, लेकिन उसमेंA
याAAAA
का रिकॉर्ड नहीं है, तो Chrome यह समझेगा कि नेटवर्क एडमिन को प्रीफ़ेच किए गए पेजों के नेविगेशन में दिखना ज़रूरी है (प्रीफ़्लाइट मोड देखें). - अगर रिस्पॉन्स कोई और वैल्यू है, तो Chrome सीधे तौर पर प्रीफ़ेच किए गए संसाधनों का इस्तेमाल करेगा. साथ ही, उपयोगकर्ता के प्रीफ़ेच किए गए पेज पर नेविगेट करने पर, वह कोई और डीएनएस लुकअप जारी नहीं करेगा.
इस जांच का नतीजा, Chrome के रीस्टार्ट होने तक या नेटवर्क इंटरफ़ेस में बदलाव होने तक रोक दिया जाएगा. इससे dns-tunnel-check.googlezip.net
के लिए एक नया डीएनएस लुकअप ट्रिगर होगा, जिसका नतीजा अलग हो सकता है.
प्रीफ़्लाइट मोड
इस मोड में, निजी प्रीफ़ेच प्रॉक्सी के ज़रिए प्रीफ़ेच किए गए पेज पर नेविगेट करने से पहले, Chrome उससे जुड़े डोमेन के लिए डीएनएस लुकअप जारी करेगा और जवाब आने तक इंतज़ार करेगा:
- अगर जवाब में आईपी पतों का कोई ऐसा सेट शामिल है जो खाली नहीं है, तो Chrome प्रीफ़ेच किए गए संसाधनों का इस्तेमाल करके नेविगेशन जारी रखेगा.
- अगर जवाब
REFUSED
(पसंदीदा) याNXDOMAIN
है, तो Chrome नेविगेशन को आगे नहीं बढ़ाएगा और उसके बजाय सही डीएनएस की गड़बड़ी वाला पेज दिखाएगा.