HAR फ़ाइल झरना विश्लेषक
प्रत्येक अनुरोध के स्वयं के टाइमिंग डेटा से निर्मित वास्तविक अनुरोध वॉटरफॉल देखने के लिए अपने ब्राउज़र के DevTools से निर्यात की गई .har फ़ाइल अपलोड करें, साथ ही गुम कैश हेडर, असम्पीडित प्रतिक्रियाओं और रेंडर-ब्लॉकिंग स्क्रिप्ट की जांच करें।
नतीजा
एक HAR (HTTP आर्काइव) फ़ाइल एक पृष्ठ लोड के दौरान ब्राउज़र के DevTools नेटवर्क पैनल द्वारा रिकॉर्ड की गई हर चीज़ का JSON निर्यात है: प्रत्येक अनुरोध और प्रतिक्रिया हेडर, प्रत्येक प्रतिक्रिया निकाय का सटीक आकार और MIME प्रकार, और प्रति-अनुरोध समय का टूटना। आप DevTools खोलकर, नेटवर्क टैब पर पृष्ठ को पुनः लोड करके, फिर अनुरोध सूची पर राइट-क्लिक करके और "सामग्री के साथ HAR के रूप में सभी को सहेजें" चुनकर Chrome, Firefox, Edge या Safari में से एक का उत्पादन कर सकते हैं। यह टूल उस निर्यात की गई फ़ाइल को सीधे पढ़ता है - कुछ भी दोबारा नहीं लाया जाता है या दोबारा अनुरोध नहीं किया जाता है।
वॉटरफ़ॉल चार्ट पूरी तरह से फ़ाइल के अंदर पहले से मौजूद डेटा से बनाया गया है: प्रत्येक प्रविष्टि की अपनी टाइमिंग ऑब्जेक्ट एक अनुरोध को अवरुद्ध, डीएनएस लुकअप, कनेक्ट, एसएसएल/टीएलएस बातचीत, भेजें, प्रतीक्षा करें (पहले बाइट का समय), और चरणों को प्राप्त करती है, और प्रत्येक चरण को अपने स्वयं के रंगीन खंड के रूप में तैयार किया जाता है। एचएआर स्पेक के अनुसार, एसएसएल समय भी कनेक्ट के अंदर शामिल है, इसलिए इसे पहले वापस घटाया जाता है - अन्यथा टीएलएस भाग को दो बार गिना जाएगा और बार की चौड़ाई अब अनुरोध की वास्तविक अवधि में नहीं जुड़ जाएगी। डैश किए गए वर्टिकल मार्कर DOMContentLoaded और Load दिखाते हैं, फ़ाइल के स्वयं के पेज टाइमिंग से सीधे पढ़ते हैं, ताकि आप देख सकें कि पेज के इंटरैक्टिव बनने से पहले कौन से अनुरोध समाप्त हो गए थे।
चार्ट से परे, टूल उन फ़ील्ड्स पर तीन खोज नियम चलाता है जिन्हें HAR प्रारूप पहले से ही रिकॉर्ड करता है। यह कैश करने योग्य प्रतिक्रियाओं (स्थिति 200, 203 या 206) को चिह्नित करता है जिसमें न तो कैश-कंट्रोल होता है और न ही एक्सपायर हेडर होता है, जिसका अर्थ है कि दोबारा विजिट करने पर उन्हें स्क्रैच से फिर से डाउनलोड करना पड़ता है। यह पाठ्य प्रतिक्रियाओं को चिह्नित करता है - HTML, CSS, जावास्क्रिप्ट, JSON, SVG और समान - 1 KB से बड़े जो सामग्री-एनकोडिंग के बिना प्रस्तुत किए गए थे, एक आसान संपीड़न अवसर जिसे अधिकांश सर्वर एक कॉन्फिग लाइन के साथ चालू कर सकते हैं। और यह सीएसएस या जावास्क्रिप्ट अनुरोधों को चिह्नित करता है जो पेज के अपने DOMContentLoaded ऑफसेट से पहले शुरू हुए थे, जो रेंडर-ब्लॉकिंग एसेट का क्लासिक हस्ताक्षर है।
यह सब उस डेटा पर चलता है जो पहले से ही आपके द्वारा अपलोड की गई फ़ाइल में मौजूद है - कोई नेटवर्क एक्सेस नहीं है, कोई बाहरी लुकअप सेवा नहीं है, और मूल पृष्ठ को दोबारा लाने की कोई सुविधा नहीं है। HAR फ़ाइल को पूरी तरह से आपके ब्राउज़र टैब में पढ़ा, पार्स और रेंडर किया जाता है और इसे कभी भी कहीं भी अपलोड नहीं किया जाता है।