बैकग्राउंड
बैक/फ़ॉरवर्ड कैश मेमोरी (bfcache) की सुविधा, पेज के स्नैपशॉट को मेमोरी में सेव करती है. इससे, नेविगेशन इतिहास से पेज को वापस लाने में मदद मिलती है. इससे, पेज पर वापस जाने की प्रोसेस तेज़ी से पूरी होती है. हालांकि, कुछ ब्राउज़र एपीआई (उदाहरण के लिए, अनलोड करने वाले लिसनर) की वजह से, bfcache काम नहीं कर सकता और पेज सामान्य तरीके से लोड होगा.
लाइटहाउस, bfcache फ़ेल होने का पता कैसे लगाता है
स्टैंडअलोन नेविगेशन
स्टैंडअलोन नेविगेशन के आखिर में, Lighthouse नेविगेट कर जाएगा और नेविगेशन इतिहास से पेज को वापस लाने की कोशिश करेगा. इससे यह पता चलेगा कि bfcache का इस्तेमाल किया जा रहा है या नहीं.
यूज़र फ़्लो
यूज़र फ़्लो चलाते समय, लाइटहाउस नेविगेशन में bfcache की जांच नहीं करेगा. ऐसा इसलिए होता है, क्योंकि हर नेविगेशन के आखिर में, पेज छोड़कर जाने और वापस आने पर, पेज के ज़्यादातर उपयोगकर्ता अनुभव नहीं दिखते.
हालांकि, उपयोगकर्ता के सफ़र के हिस्से के तौर पर इतिहास नेविगेशन को शामिल करके, अब भी टाइमस्पैन मोड में bfcache के इस्तेमाल की जांच की जा सकती है. उदाहरण के लिए:
const flow = await startFlow(page);
// This navigation will not test the bfcache
// because it is part of a user flow.
await flow.navigate('https://example.com');
// This timespan will try to restore the page from the bfcache.
// Problems restoring from the bfcache are surfaced in this report.
await flow.startTimespan();
await page.goto('https://example2.com');
await page.goBack();
await flow.endTimespan();
bfकैश मेमोरी में सेव की जाने वाली गड़बड़ियों को समझना
अगर किसी वजह से पेज को bfcache से वापस नहीं लाया जा सका, तो ऑडिट पूरा नहीं होगा. Lighthouse, bfcache का इस्तेमाल न किए जाने की वजहों की सूची बनाएगा. साथ ही, उस फ़्रेम की जानकारी भी देगा जिसकी वजह से समस्या हुई है. पुष्टि न होने की वजहें तीन तरह की हो सकती हैं:
- कार्रवाई करने की ज़रूरत है: कैश मेमोरी में डेटा सेव करने के लिए, इन समस्याओं को ठीक किया जा सकता है.
- सहायता उपलब्ध नहीं है: Chrome पर अब भी इन सुविधाओं का इस्तेमाल नहीं किया जा सकता. इसलिए, ये कैश मेमोरी में सेव होने से बचाती हैं. हालांकि, Chrome में इन सुविधाओं के काम करने के बाद, ये पाबंदियां हटा दी जाती हैं.
- कार्रवाई नहीं की जा सकती: इस पेज पर मौजूद समस्याओं को ठीक नहीं किया जा सकता. पेज के नियंत्रण से बाहर की चीज़ कैश मेमोरी में सेव होने से रोकती है.