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

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

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

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

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

<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वां मेजर वर्शन एक बड़ी उपलब्धि है. साथ ही, दो अंकों के वर्शन को तीन अंकों के वर्शन में बदलने से, वेबसाइटों पर भी समस्याएं आ सकती हैं. वेब डेवलपर, इन स्ट्रिंग को पार्स करने के लिए सभी तरह की तकनीकों का इस्तेमाल करते हैं. इनमें कस्टम कोड से लेकर, User-Agent पार्सिंग लाइब्रेरी का इस्तेमाल करना शामिल है. इनका इस्तेमाल, प्रोसेसिंग लॉजिक तय करने के लिए किया जा सकता है. User-Agent और वर्शन की जानकारी देने वाले अन्य तरीकों से, जल्द ही वर्शन का तीन अंकों वाला नंबर दिखेगा.

वर्शन 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> का पालन करता है.

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

99.101.4988.0

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

Firefox पर इस समस्या को हल करने का तरीका

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

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

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

लोगों की मदद करने के लिए, आप क्या कर सकते हैं?

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

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

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

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

  1. Firefox Nightly का सेटिंग मेन्यू खोलें.
  2. "Firefox 100" खोजें. इसके बाद, "Firefox 100 User-Agent String" विकल्प को चुनें.

जांच करना और शिकायत दर्ज करना

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