Chrome और Firefox जल्द ही मेजर वर्शन 100 पर पहुंचने वाले हैं

उपयोगकर्ता-एजेंट स्ट्रिंग में होने वाले बदलाव, वे रणनीतियां जिन्हें Chrome और Firefox ने असर को कम करने के लिए अपनाया है. साथ ही, आपकी मदद कैसे की जा सकती है.

अली बेयद
अली बेयद
कार्ल डुबोस्ट
कार्ल डुबोस्ट
मिलिका मिहाजलिया
मिलिका मिहाजलिया

कुछ महीनों में, Chrome और Firefox वर्शन 100 पर पहुंच जाने वाला है. इससे उन साइटों के लिए रुकावट आ सकती है जो कारोबारी नियम लागू करने के लिए, ब्राउज़र के वर्शन की पहचान करती हैं. इस पोस्ट में इवेंट की टाइमलाइन दी गई है. साथ ही, यह भी बताया गया है कि इस असर को कम करने के लिए Chrome और Firefox किन रणनीतियों का इस्तेमाल कर रहे हैं और आपकी मदद कैसे की जा सकती है.

उपयोगकर्ता-एजेंट स्ट्रिंग

उपयोगकर्ता-एजेंट (UA) एक ऐसी स्ट्रिंग है जो ब्राउज़र, एचटीटीपी हेडर में भेजते हैं. इससे सर्वर, ब्राउज़र की पहचान कर पाते हैं. इस स्ट्रिंग को JavaScript से भी navigator.userAgent से ऐक्सेस किया जा सकता है. आम तौर पर, इसे इस तरह फ़ॉर्मैट किया जाता है:

<browser_name>/<major_version>.<minor_version>

उदाहरण के लिए, इस पोस्ट को पब्लिश करते समय ब्राउज़र के सबसे नए रिलीज़ वर्शन ये हैं:

  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36
  • Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/20100101 Firefox/96.0
  • Safari: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15

मेजर वर्शन 100—तीन अंकों वाला वर्शन नंबर

Chrome और Firefox, दोनों के लिए मेजर वर्शन 100 एक बड़ी उपलब्धि है. इससे वेबसाइटों के लिए रुकावट भी आ सकती है, क्योंकि हम दो अंकों से तीन अंकों वाले वर्शन नंबर पर स्विच करते हैं. वेब डेवलपर इन स्ट्रिंग को पार्स करने के लिए, सभी तरह की तकनीकों का इस्तेमाल करते हैं. इनमें कस्टम कोड से लेकर उपयोगकर्ता-एजेंट पार्स करने वाली लाइब्रेरी का इस्तेमाल करना शामिल है. इसके बाद, इनका इस्तेमाल करके प्रोसेसिंग का लॉजिक तय किया जा सकता है. उपयोगकर्ता-एजेंट और किसी भी दूसरे वर्शन की शिकायत करने के तरीके जल्द ही, तीन अंकों वाले वर्शन नंबर की रिपोर्ट करेंगे.

वर्शन 100 टाइमलाइन

वर्शन 100 ब्राउज़र को सबसे पहले प्रयोग वाले वर्शन (Chrome कैनरी, Firefox Nightly) में रिलीज़ किया जाएगा. इसके बाद बीटा वर्शन और आखिर में स्टेबल चैनल पर रिलीज़ किया जाएगा.

ब्राउज़र टाइमलाइन
Chrome (रिलीज़ शेड्यूल) 29 मार्च, 2022
Firefox (रिलीज़ शेड्यूल) 3 मई, 2022

तीन-अंकीय वर्शन संख्या से समस्या क्यों हो सकती है?

जब 12 साल पहले, ब्राउज़र पहली बार वर्शन 10 पर पहुंचे थे, तो उपयोगकर्ता-एजेंट की पार्स करने वाली लाइब्रेरी में कई समस्याओं का पता चला. इसकी वजह यह है कि मेजर वर्शन की संख्या एक से दो अंकों में बदल गई थी.

किसी एक स्पेसिफ़िकेशन के बिना, उपयोगकर्ता-एजेंट स्ट्रिंग और साइट के हिसाब से उपयोगकर्ता-एजेंट पार्स करने के लिए, अलग-अलग ब्राउज़र के फ़ॉर्मैट अलग-अलग होते हैं. ऐसा हो सकता है कि पार्स करने वाली कुछ लाइब्रेरी में, हार्ड कोड किए गए अनुमान या ऐसे बग हों जो तीन अंकों वाले मेजर वर्शन नंबर को शामिल नहीं करते. ब्राउज़र को दो अंकों वाले वर्शन नंबर पर ले जाने पर, कई लाइब्रेरी ने पार्स करने के लॉजिक को बेहतर बनाया. इसलिए, तीन अंकों वाले माइलस्टोन को हिट करने से, कम समस्याएं हो सकती हैं. Chrome टीम के इंजीनियर माइक टेलर ने UA पार्सिंग लाइब्रेरी का एक सर्वे किया, जिसमें किसी भी तरह की समस्या के बारे में पता नहीं चला. फ़ील्ड में Chrome एक्सपेरिमेंट चलाने से कुछ समस्याएं सामने आई हैं, जिन पर काम किया जा रहा है.

ब्राउज़र इस बारे में क्या कर रहे हैं?

Firefox और Chrome, दोनों ऐसे प्रयोग कर रहे हैं जिनमें ब्राउज़र रिपोर्ट के मौजूदा वर्शन, मेजर वर्शन 100 पर हैं. ऐसा इसलिए किया जा रहा है, ताकि वेबसाइट में गड़बड़ी का पता लगाया जा सके. इसकी वजह से, शिकायत की गई कुछ समस्याएं आई हैं. इनमें से कुछ समस्याओं को पहले ही ठीक कर लिया गया है. ये प्रयोग, वर्शन 100 के रिलीज़ होने तक चलते रहेंगे.

जोखिम को कम करने के लिए बैकअप रणनीतियां भी लागू की गई हैं. अगर स्टेबल चैनलों के लिए वर्शन 100 को रिलीज़ किया गया है, तो इससे वेबसाइटों को उम्मीद से ज़्यादा नुकसान होगा.

Chrome की वजह से होने वाली समस्याओं को कम करना

Chrome में, मेजर वर्शन को 99 पर फ़्रीज़ करने के लिए बैकअप प्लान का इस्तेमाल किया जाता है. इसमें एक फ़्लैग इस्तेमाल किया जाता है, ताकि उपयोगकर्ता एजेंट स्ट्रिंग के माइनर वर्शन वाले हिस्से में, असली मेजर वर्शन नंबर की जानकारी दी जा सके (कोड पहले ही लैंड हो चुका है).

उपयोगकर्ता-एजेंट स्ट्रिंग में रिपोर्ट किया गया Chrome वर्शन, <major_version>.<minor_version>.<build_number>.<patch_number> पैटर्न का पालन करता है.

अगर बैकअप प्लान का इस्तेमाल किया जाता है, तो उपयोगकर्ता-एजेंट स्ट्रिंग इस तरह दिखेगी:

99.101.4988.0

Chrome यह पक्का करने के लिए भी प्रयोग चला रहा है कि स्ट्रिंग के माइनर वर्शन वाले हिस्से में तीन अंकों वाली वैल्यू रिपोर्ट करने से गड़बड़ी न हो, क्योंकि Chrome की उपयोगकर्ता-एजेंट स्ट्रिंग में माइनर वर्शन को काफ़ी लंबे समय से 0 रिपोर्ट किया गया है. Chrome की टीम रिपोर्ट की गई समस्याओं की संख्या और गंभीरता के आधार पर यह तय करेगी कि बैकअप के विकल्प पर काम करना है या नहीं.

Firefox की रोकथाम

Firefox में, रणनीति इस बात पर निर्भर करेगी कि ब्रेकेज कितना ज़रूरी है. Firefox में साइट इंटरवेंशन तरीके मौजूद हैं. Mozilla webcompat टीम, इस तरीके का इस्तेमाल करके Firefox में काम न करने वाली वेबसाइटों को ठीक कर सकती है. अगर आप Firefox के यूआरएल बार में about:compat टाइप करते हैं, तो आप देख सकते हैं कि अभी क्या ठीक किया जा रहा है. अगर कोई साइट किसी खास डोमेन पर, मेजर वर्शन 100 के बीच में आती है, तो उस डोमेन के वर्शन 99 को भेजकर समस्या को ठीक किया जा सकता है.

अगर ब्रेकेज बड़े पैमाने पर है, तो मेजर वर्शन नंबर को फ़्रीज़ किया जा सकता है. इसके बाद अलग-अलग संभावित रणनीतियां होती हैं, हर एक के अपने फ़ायदे और नुकसान होते हैं. Mozilla, असली वर्शन नंबर को माइनर वर्शन नंबर के तौर पर भेज सकता है, स्ट्रिंग को पूरी तरह से फ़्रीज़ कर सकता है या दूसरे पैरामीटर के ज़रिए असली वर्शन नंबर भेज सकता है.

उपयोगकर्ता-एजेंट स्ट्रिंग में जटिलता जोड़ने वाली हर रणनीति का नेटवर्क पर गहरा असर पड़ता है. आइए, एक और अजीब व्यवहार से बचने के लिए साथ मिलकर काम करें.

आपको क्या मदद मिल सकती है?

Chrome और Firefox Nightly में, ब्राउज़र को इस समय 100 के तौर पर रिपोर्ट करने के लिए कॉन्फ़िगर किया जा सकता है. साथ ही, कोई समस्या होने पर उसकी शिकायत भी की जा सकती है.

मेजर वर्शन को 100 के तौर पर रिपोर्ट करने के लिए, Chrome को कॉन्फ़िगर करें

  1. chrome://flags/#force-major-version-to-100 पर जाएं
  2. विकल्प को Enabled पर सेट करें.

मेजर वर्शन को 100 के तौर पर रिपोर्ट करने के लिए, Firefox Nightly को कॉन्फ़िगर करें

  1. Firefox Nightly का सेटिंग मेन्यू खोलें.
  2. "Firefox 100" खोजें और फिर "Firefox 100 उपयोगकर्ता-एजेंट स्ट्रिंग" विकल्प देखें.

जांच करें और रिपोर्ट फ़ाइल करें

  • अगर आप वेबसाइट मैनजर हैं, तो Chrome और Firefox 100 की मदद से अपनी वेबसाइट की जांच करें. अपने उपयोगकर्ता एजेंट पार्सिंग कोड और लाइब्रेरी की समीक्षा करें और पक्का करें कि वे तीन अंकों वाले वर्शन नंबर को हैंडल कर सकते हों. हमने कुछ ऐसे पैटर्न इकट्ठा किए हैं जो अभी टूट रहे हैं.
  • अगर उपयोगकर्ता-एजेंट पार्स करने वाली लाइब्रेरी डेवलप की जाती है, तो 100 से ज़्यादा या उसके बराबर के वर्शन पार्स करने के लिए, टेस्ट जोड़ें. हमारे शुरुआती टेस्ट से पता चलता है कि लाइब्रेरी के हाल ही के वर्शन इस सुविधा को सही तरीके से मैनेज कर सकते हैं. हालांकि, वेब की विरासत काफ़ी लंबी है, इसलिए अगर आपके पास पार्स करने वाली लाइब्रेरी के पुराने वर्शन हैं, तो समस्याओं का पता लगाकर उन्हें अपग्रेड करें.
  • अगर वेब ब्राउज़ किया जा रहा है और आपको मेजर वर्शन 100 में कोई समस्या दिखती है, तो webcompat.com पर शिकायत करें.