बैकग्राउंड
बैक/फ़ॉरवर्ड कैश मेमोरी (bfcache) सुविधा की मदद से, मेमोरी में पेज का स्नैपशॉट सेव किया जाता है. इस स्नैपशॉट को तब दिखाया जाता है, जब पेज को नेविगेशन इतिहास से वापस लाया जाता है. इससे पेज पर वापस जाने के लिए तेज़ी से नेविगेट किया जा सकता है. हालांकि, कुछ ब्राउज़र एपीआई (जैसे, अनलोड लिसनर) की वजह से, बैक-फ़ॉरवर्ड कैश मेमोरी की सुविधा काम नहीं कर सकती और पेज सामान्य रूप से लोड हो सकता है.
लाइटहाउस, बैक-फ़ॉरवर्ड कैश मेमोरी की गड़बड़ी का पता कैसे लगाता है
स्टैंडअलोन नेविगेशन
स्टैंडअलोन नेविगेशन के आखिर में, Lighthouse नए पेज पर जाएगा. साथ ही, वह पेज को नेविगेशन इतिहास से वापस लाने की कोशिश करेगा, ताकि यह पता लगाया जा सके कि बैक-फ़ॉरवर्ड कैश मेमोरी का इस्तेमाल किया जा रहा है या नहीं.
यूज़र फ़्लो
यूज़र फ़्लो चलाते समय, Lighthouse सक्रिय रूप से नेविगेशन में 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();
बैक-फ़ॉरवर्ड कैश मेमोरी की असफलताओं को समझना
अगर किसी वजह से पेज को bfcache से वापस नहीं लाया जा सका, तो ऑडिट नहीं हो पाएगा. लाइटहाउस उन सभी फ़्रेम के साथ ही जानकारी देगा जिनकी वजह से bfcache का इस्तेमाल न किया जा सका हो. सफल न होने की वजह, इन तीन में से कोई एक हो सकती है:
- कार्रवाई करने की ज़रूरत है: कैश मेमोरी की सुविधा चालू करने के लिए, इन समस्याओं को ठीक किया जा सकता है.
- मंज़ूरी बाकी है: Chrome पर अभी ये सुविधाएं काम नहीं करती हैं. इसलिए, ये सुविधाएं कैश मेमोरी में सेव होने से रोकती हैं. हालांकि, एक बार समर्थित हो जाने पर, Chrome इन सीमाओं को हटा देता है.
- कार्रवाई नहीं की जा सकती: इस पेज पर इन समस्याओं को ठीक नहीं किया जा सकता. पेज के कंट्रोल से बाहर की कोई चीज़, कैश मेमोरी में सेव होने से रोकती है.