ब्रोटली क्या है? वेब पर ब्र संकुषण कैसे काम करता है
स्क्रैपलेस यूनिवर्सल स्क्रैपिंग एपीआई अनुमत सार्वजनिक वेब सामग्री को पुनः प्राप्त करता है और जब ब्रोटली को एक वास्तविक प्रतिक्रिया में देखा जाना चाहिए तब JavaScript रेंडर कर सकता है।
TL;DR
- ब्रोटली का एक सटीक प्रोटोकॉल भूमिका है। ब्रोटली एक लॉसलेस संकुचित डेटा प्रारूप है जो LZ77-शैली के पिछले संदर्भों, हफमैन कोडिंग और एक पूर्व परिभाषित शब्दकोष को जोड़ता है जिसे सामान्य डेटा पैटर्न को कुशलतापूर्वक प्रतिनिधित्व करने के लिए डिज़ाइन किया गया है।
- ब्रोटली को सही परत पर पढ़ा जाना चाहिए। परिवहन, प्रतिनिधित्व, ब्राउज़र नीति और अनुप्रयोग प्राधिकरण अलग-अलग चिंताएँ बनी रहती हैं।
- मध्यस्थ यह बदल सकते हैं कि एक अनुप्रयोग क्या देखता है। गेटवे, कैश, ब्राउज़र डिफ़ॉल्ट और क्लाइंट पुस्तकालय स्रोत बाइट्स और पार्स की गई डेटा के बीच प्रोसेसिंग को जोड़ सकते हैं।
- निर्धारण को सामग्री के证据 की आवश्यकता होती है। केवल एक स्थिति या क्षेत्र यह साबित नहीं करता है कि अपेक्षित सार्वजनिक प्रतिनिधित्व पहुंचा।
- सुरक्षा दायरे और निर्धारण पर निर्भर करती है। प्रोटोकॉल वाक्य syntax कभी भी एक संसाधन तक पहुंचने की अनुमति नहीं देता है या कॉलर द्वारा प्रदान किए गए मूल्य पर भरोसा करना।
ब्रोटली क्या है?
ब्रोटली एक लॉसलेस संकुचित डेटा प्रारूप है जो LZ77-शैली के पिछले संदर्भों, हफमैन कोडिंग और एक पूर्व परिभाषित शब्दकोष को जोड़ता है जिसे सामान्य डेटा पैटर्न को कुशलतापूर्वक प्रतिनिधित्व करने के लिए डिज़ाइन किया गया है। HTTP में इसे br सामग्री-कोडिंग टोकन द्वारा पहचाना जाता है। क्लाइंट स्वीकार-कोडिंग में br की विज्ञापन करते हैं, और सर्वर जो इसे चुनते हैं वे सामग्री-कोडिंग: br लौटाते हैं।
उपयोगी परिभाषा में तंत्र और इसकी सीमा दोनों शामिल हैं। ब्रोटली एक विनिमय के एक विशिष्ट भाग को प्रभावित करता है, जबकि सन्निहित जिम्मेदारियों को HTTP, ब्राउज़र, चयनित परिवहन, अनुप्रयोग, या सर्वर के डेटा मॉडल के साथ रखा जाता है। उन परतों को अलग रखना त्रुटि रिपोर्ट को पुनरुत्पादित बनाता है और एक कॉन्फ़िगरेशन परिवर्तन को पहुँच नियंत्रण निर्णय के लिए गलतफहमी से रोकता है।
API डेवलपर्स के लिए, पहला प्रश्न यह है कि मूल्य या व्यवहार कौन बनाता है। अगला प्रश्न यह है कि इसे कौन व्याख्या करता है। अंतिम प्रश्न यह है कि कौन सा पर्यवेक्षणीय परिणाम यह साबित करता है कि व्याख्या काम कर गई। उन तीन उत्तरों से एक शब्दावली शब्द को एक परीक्षण योग्य इंटरफ़ेस अनुबंध में बदल दिया जाता है।
कैसे ब्रोटली br सामग्री का उत्पादन और वितरण करता है
कोडर इनपुट को मेटा-ब्लॉक्स में विभाजित करता है और शब्दों और दोहराए गए अनुक्रमों के संदर्भों को दर्शाता है। संदर्भ मॉडलिंग और पूर्ववर्ती कोड सामान्य पैटर्न की लागत को कम करते हैं, जबकि स्थैतिक शब्दकोष परिचित शब्दों और टुकड़ों का संक्षिप्त प्रतिनिधित्व कर सकता है। डिकोडिंग उन कमांडों को उलट देती है ताकि मूल बाइट्स को पुन: उत्पन्न किया जा सके।
HTTP बातचीत संकुचन एल्गोरिथ्म से अलग होती है। एक क्लाइंट समर्थित कोडिंग के बीच br की सूची बनाता है, और सर्वर या किनारे एक पूर्व-संकुचित या गतिशील रूप से कोडित भिन्नता का चयन करता है। प्रतिक्रिया अपनी मूल सामग्री-प्रकार को बनाए रखती है और सामग्री-कोडिंग: br जोड़ती है।
स्थैतिक संपत्तियों को निर्माण के दौरान संकुचित किया जा सकता है ताकि अनुरोध-समय का काम कम हो। गतिशील प्रतिक्रियाएँ उन पेन से संकुचित की जा सकती हैं जिनका निर्माण हो रहा है, लेकिन संकुचन स्तर, प्रतिक्रिया आकार, और सर्वर क्षमता का माप लेना चाहिए। यदि संकुचन विलंब अनुरोध बजट पर हावी हो जाए तो एक छोटा प्रतिनिधित्व उपयोगी नहीं होता है।
ब्राउज़र और आधुनिक HTTP पुस्तकालय अक्सर स्वतः br को डिकोड करते हैं। नेटवर्क पैनल एन्कोडेड ट्रांसफर आकार दिखा सकते हैं जबकि एप्लिकेशन कोड डिकोडेड पाठ को देखता है। कच्चे संग्रह उपकरण या तो पहचान मांगते हैं या पार्स करने से पहले ब्रोटली डिकोडिंग का समर्थन करते हैं।
ब्रोटली अवधारणाएँ जो HTTP के लिए मायने रखती हैं
निम्नलिखित शर्तें उन घटकों को अलग करती हैं जो अक्सर एक लेबल के भीतर संकुचित होते हैं। उन्हें प्रतिभागियों के बीच इंटरफ़ेस के रूप में पढ़ें बजाय कि नेटवर्क ट्रेस में सजावट के रूप में।
br
ब्रोटली-कोडित प्रतिनिधित्व के लिए पंजीकृत HTTP सामग्री-कोडिंग टोकन।
मेटा-ब्लॉक
ब्रोटली धारा में एक इकाई जो संकुचित, असंकुचित, या मेटाडेटा जानकारी ले जाती है।
पिछला संदर्भ
एक लंबाई और दूरी जो पहले से ही स्लाइडिंग विंडो में दर्शाए गए बाइट्स को इंगित करता है।
स्थैतिक शब्दकोष
सामान्य डेटा टुकड़ों और परिवर्तन का एक पूर्व परिभाषित संग्रह जो प्रारूप के लिए उपलब्ध है।
गुणवत्ता सेटिंग
संकुचन काम और आउटपुट आकार के बीच एक एन्कोडर व्यापार; यह लॉसलेसनेस को नहीं बदलता।
विभिन्नता
HTTP कैश सिग्नल जो स्वीकार-कोडिंग के माध्यम से चयनित br, gzip, और पहचान भिन्नताओं को अलग करता है।
ब्रोटली वेब डेटा संग्रह में क्यों मायने रखता है
ब्रोटली यह बदल सकता है कि कौन से बाइट्स आते हैं, उन बाइट्स को कैसे व्याख्या किया जाता है, या यह कि क्या ब्राउज़र कोड परिणाम देख सकता है। एक संग्रह कार्यप्रवाह को उपकरणों को बदलने से पहले उस प्रभाव को खोजने वाले प्रश्न करना चाहिए। अनुरोध URL, अंतिम URL, प्रतिक्रिया स्थिति, प्रतिनिधित्व प्रकार, प्रासंगिक प्रोटोकॉल क्षेत्र, और एक अपेक्षित सामग्री संकेतक को रिकॉर्ड करें। यह संक्षिप्त रिकॉर्ड एक सही पृष्ठ को पहुँच संदेश, सहमति स्क्रीन, पुनर्निर्देश लक्ष्य, खाली एप्लिकेशन शेल, या असंगत कोडिंग से अलग करता है।
डायरेक्ट HTTP सबसे सरल अधिग्रहण पथ है जब आवश्यक डेटा एक खुले सर्वर-जनित प्रतिक्रिया में मौजूद होता है। जब अनुमोदित सामग्री JavaScript निष्पादन, ब्राउज़र-प्रबंधित स्थिति, नेविगेशन, या ब्राउज़र सुरक्षा नीति पर निर्भर करती है, तो एक ब्राउज़र प्रासंगिक हो जाता है। दोनों पथों को एक समान दिखाने के लिए मजबूर नहीं किया जाना चाहिए: ब्राउज़र प्लेटफ़ॉर्म नियमों के अनुसार कुकीज़, संकुचन, पुनर्निर्देश, CORS और संग्रह का प्रबंधन करते हैं, जबकि एक डायरेक्ट क्लाइंट एक अलग सेट के डिफ़ॉल्ट को उजागर करता है।
सत्र निरंतरता तब मायने रखती है जब एक प्रतिक्रिया एक अगले अनुरोध के लिए स्थिति स्थापित करती है। एक अधिकृत अनुक्रम को एक सीमा के भीतर एक bounded client context में रखें, आवश्यक स्थानीयता और नेटवर्क मूल को सुरक्षित रखें, और अप्रत्याशित नौकरियों से स्थिति को मिलाने से बचें। एक प्रॉक्सी नेटवर्क मूल को बदल देती है; यह हेडर की पुनरुत्पादन, प्रतिनिधित्वों को डिकोड नहीं करती, स्क्रिप्टों को निष्पादित नहीं करती, या प्रतिबंधित सामग्री तक पहुँच नहीं देती।
पार्सिंग केवल प्रतिनिधित्व की पुष्टि के बाद शुरू होती है। फ़ील्ड निकालने से पहले अंतिम होस्ट, कैनोनिकल पहचान (जहाँ उपलब्ध हो), मीडिया प्रकार, डिकोडिंग स्थिति, और आवश्यक व्यावसायिक मार्कर की पुष्टि करें। यह क्रम एक पार्सर को सफल तकनीकी रूप से दिखाई देने वाले खाली रिकॉर्ड्स में एक त्रुटि दस्तावेज़ को बदलने से रोकता है।
मध्यस्थों को स्पष्ट ध्यान की आवश्यकता है। एक सामग्री वितरण नेटवर्क एक एन्कोडेड विविधता का चयन कर सकता है, एक गेटवे OPTIONS का उत्तर दे सकता है, एक कैश एक बातचीत की गई प्रतिक्रिया को पुन: उपयोग कर सकता है, और एक एप्लिकेशन सर्वर कुकीज़ या प्रमाणीकरण फ़ील्ड सेट कर सकता है। केवल एप्लिकेशन कोड की तुलना अंतिम पृष्ठ उत्पादन के साथ करना उस परत को छोड़ देता है जो शायद निर्णय लेती है।
स्क्रेपलेस यूनिवर्सल स्क्रैपिंग एपीआई प्रासंगिक है जब एक टीम की प्रबंधित अनुमत सार्वजनिक सामग्री की पुनर्प्राप्ति की आवश्यकता होती है, जिसमें जावास्क्रिप्ट-रेंडर्ड पृष्ठ शामिल हैं। अधिग्रहण अनुबंध को अभी भी लक्ष्य, अनुमत फ़ील्ड, अपेक्षित प्रतिनिधित्व, स्वीकृति मार्कर और रोकने की शर्तों को परिभाषित करना चाहिए। उत्पाद की क्षमता स्रोत शर्तों, गोपनीयता समीक्षा, या एप्लिकेशन-स्तरीय मान्यता को प्रतिस्थापित नहीं करती।
जहां ब्रोटली सामान्यतः लागू होता है
जब ब्रोटली एक ठोस उत्पाद व्यवहार, संगतता आवश्यकता, या नैदानिक निर्णय बदलता है, तो वह एक संरचना में जगह बनाता है। ये उपयोग के मामले पहले कार्य और दूसरे प्रोटोकॉल सुविधा का वर्णन करते हैं।
स्थैतिक जावास्क्रिप्ट बंडल
निर्माण के समय एन्कोडिंग अनुरोध के समय संपीड़न कार्य के बिना स्थानांतरण को कम कर सकता है।
शैली पत्रक
दोहराए गए चयनकर्ता और घोषणाएँ एन्कोडर को उपयोगी पैटर्न देती हैं।
एचटीएमएल
Markup और सामान्य टेक्स्ट फ़्रैगमेंट फ़ॉर्मैट के शब्दकोश और पुनरावृत्ति कोडिंग से लाभ उठा सकते हैं।
जेसन
जब विलंबता और सीपीयू बजट की अनुमति होती है, तो दोहराए गए कुंजी और संरचित टेक्स्ट उपयुक्त इनपुट होते हैं।
एसवीजी
पाठ-आधारित वेक्टर मार्कअप अक्सर अच्छी तरह से संकुचित होता है, जबकि कई पहले से संकुचित रास्टर फॉर्मेट नहीं होते हैं।
सीडीएन विविधताएँ
एक किनारे Accept-Encoding से br, gzip, या पहचान का चयन कर सकता है और प्रत्येक प्रतिनिधित्व को अलग-अलग कैश कर सकता है।
ब्रोटली और जीजिप वेब वितरण में
ब्रोटली HTTP की एक परत से संबंधित है और इसे सन्निहित परतों से भ्रमित नहीं किया जाना चाहिए। एक सही कार्यान्वयन पहचानता है कि कौन सा घटक मान चुनता है, कौन सा घटक इसे बदल सकता है, और क्या सबूत है जो साबित करता है कि अंतिम प्रतिनिधित्व सही है।
| आयाम | ब्रोटली | संबंधित अवधारणा या वैकल्पिक |
|---|---|---|
| HTTP टोकन | br | gzip |
| फॉर्मेट का आधार | LZ77, हफमैन कोडिंग, संदर्भ मॉडलिंग, स्थिर शब्दकोश | gzip आवरण के अंदर DEFLATE |
| संगतता | आधुनिक वेब क्लाइंट में सामान्य | पुराने और वर्तमान क्लाइंट के बीच व्यापक |
| प्रीकंप्रेशन | स्थिर पाठ संपत्तियों के लिए उपयोगी | स्थिर पाठ संपत्तियों के लिए उपयोगी |
| फॉलबैक | जब br अनुपस्थित हो तो gzip या पहचान पर बातचीत करें | जब gzip अनुपस्थित हो तो पहचान का उपयोग करें |
एक तुलना तभी उपयोगी होती है जब यह परत की सीमाओं को बनाए रखती है। दो तंत्र एक अनुरोध में सह-अस्तित्व कर सकते हैं, और एक को प्रतिस्थापित करना स्वचालित रूप से दूसरे को प्रतिस्थापित नहीं करता है। चयनित व्यवहार को इनपुट, अवलोकनीय आउटपुट, विफलता स्थिति, और स्वामित्व के संदर्भ में दस्तावेज करें।
ब्रोटली तैनाती की गलतियाँ
- सामग्री-कोडिंग के बिना br की सेवा करना। प्राप्तकर्ता संकुचित बाइट्स को मूल मीडिया प्रकार के रूप में मानेंगे और पार्सिंग विफल हो जाएगी।
- सहायक क्लाइंट को br भेजना। चयन को Accept-Encoding का सम्मान करना चाहिए और एक संगत फॉलबैक प्रदान करना चाहिए।
- प्रत्येक गतिशील शरीर के लिए अधिकतम कार्य का उपयोग करना। उच्च एन्कोडर प्रयास से विलंबता और सीपीयू लागत बढ़ सकती है जबकि व्यावहारिक आकार में मामूली लाभ होता है।
- कैश विविधता की अनदेखी करना। एक ब्र प्रतिक्रिया को उस क्लाइंट के लिए पुनः उपयोग नहीं किया जाना चाहिए जिसने केवल gzip या पहचान की विज्ञापन की।
- घनी बाइनरी प्रारूपों को संकुचित करना। पहले से संकुचित चित्र, संग्रह, और वीडियो आमतौर पर दूसरे कोडिंग से थोड़ा लाभ उठाते हैं।
- पहले से डिकोड की गई पुस्तकालय प्रतिक्रिया को डिकोड करना। क्लाइंट डिफ़ॉल्ट्स एप्लिकेशन कोड से कंटेंट कोडिंग को छिपा सकते हैं, इसलिए कच्ची और उजागर परतों की अलग से जांच करें।
ज्यादातर विफलताएँ तबDiagnose करना आसान हो जाती हैं जब लाइब्रेरी या ब्राउज़र द्वारा स्वचालित रूप से किए गए कार्यों के बारे में धारणाओं को हटा दिया जाता है। एक न्यूनतम ट्रेस कैप्चर करें, रहस्यों को मिटा दें, और एक नियंत्रित चर को एक बार में बदलें। लक्ष्य वापस की गई प्रतिनिधित्व की एक स्थिर व्याख्या है, असंबंधित हेडर ट्वीक का संग्रह नहीं।
एक Brotli रोलआउट और सत्यापन योजना
यह अनुक्रम लॉन्च से पहले एक डिज़ाइन समीक्षा के रूप में और व्यवहार परिवर्तन के बाद उत्पादन निदान के रूप में काम करता है। यह प्रोटोकॉल साक्ष्य को एप्लिकेशन के परिणाम से जोड़े रखता है।
- ए encoder सेटिंग्स चुनने से पहले प्रतिनिधित्वकर्ता HTML, CSS, JavaScript, JSON और SVG संपत्तियों को मापें।
- स्थिर संपत्तियों का पूर्व-संकुचन करें और सर्वर की देरी और CPU बजट के भीतर गतिशील संकुचन सेटिंग्स बनाए रखें।
- Accept-Encoding के माध्यम से बातचीत करें और gzip या पहचान फ़ॉल बैक बनाए रखें।
- Content-Encoding: br लौटाएं और मूल Content-Type को संरक्षित करें।
- Vary सेट करें और पुष्टि करें कि CDN कैश कुंजियों ने br, gzip, और पहचान विविधताएँ अलग की हैं।
- एक ब्राउज़र, एक आधुनिक HTTP पुस्तकालय, और एक कच्चे क्लाइंट का परीक्षण करें ताकि स्वचालित डिकोडिंग भिन्नताओं को उजागर किया जा सके।
- डिकोड की गई सामग्री को मान्य करें और अंत से अंत तक की देरी की तुलना करें, न कि केवल संकुचित बाइट गिनती।
समीक्षा समाप्त करें द्वारा एक छोटे स्वीकार किए गए नमूने और एक अस्वीकृत नमूने को एक ही मिटाने के नियमों के साथ बचाते हुए। भविष्य में परिवर्तन तब ज्ञात पृष्ठ पहचान, अपेक्षित फ़ील्ड और डिकोड की गई सामग्री के खिलाफ तुलना की जा सकती है, केवल मेमोरी या स्क्रीनशॉट के खिलाफ नहीं।
Brotli के लिए सुरक्षा और अवलोकन
Brotli एक अनुरोध पथ में भाग लेता है जो ब्राउज़रों, गेटवे, कैश, और मूल सर्वरों को पार कर सकता है। प्रत्येक कड़ी को केवल वही मान स्वीकार करना चाहिए जिसे वह समझता है, उन फ़ील्ड को संरक्षित करें जो जीवित रहनी चाहिए, और लॉग में क्रेडेंशियल या व्यक्तिगत डेटा को कॉपी करने से बचें। प्रोटोकॉल का वाक्यविन्यास प्राधिकरण नहीं है।
कार्यकारी रिकॉर्ड को अनुरोधित URL, अंतिम URL, स्थिति, प्रतिनिधित्व प्रकार, संबंधित फ़ील्ड नाम और बाउंड सामग्री मार्कर को कैप्चर करना चाहिए। पूर्ण बॉडीज़ और क्रेडेंशियल मानों की सामान्य निदान के लिए शायद ही आवश्यकता होती है और अनुचित रखरखाव जोखिम उत्पन्न कर सकती है।
ब्राउज़र व्यवहार और सीधा HTTP व्यवहार अलग परीक्षण सतहें हैं। CORS, कुकी स्टोरेज, स्वचालित डिकम्प्रेशन, और रीडायरेक्ट हैंडलिंग ब्राउज़र या पुस्तकालय द्वारा एप्लिकेशन कोड को परिणाम देखने से पहले किया जा सकता है। कैप्चर की तुलना करते समय क्लाइंट और उसके डिफ़ॉल्ट्स को रिकॉर्ड करें।
Brotli को परिभाषित करने वाले मानक
Brotli संकुचित डेटा विनिर्देशन हानिरहित प्रारूप और डिकोडर को परिभाषित करता है। यह प्राथमिक स्रोत इस लेख में उपयोग की गई शब्दावली और सीमाओं को ठीक करता है, जबकि लागू व्यवहार को चयनित क्लाइंट और तैनाती में अभी भी देखा जाना चाहिए।
HTTP सामग्री कोडिंग की अर्थशास्त्र प्रतिनिधि कोडिंग और वार्ता को परिभाषित करता है। यह प्राथमिक स्रोत इस लेख में उपयोग की गई शब्दावली और सीमाओं को ठीक करता है, जबकि लागू व्यवहार को चयनित क्लाइंट और तैनाती में अभी भी देखा जाना चाहिए।
MDN का Content-Encoding संदर्भ HTTP प्रतिक्रियाओं में br टोकन को दस्तावेज करता है। यह प्राथमिक स्रोत इस लेख में उपयोग की गई शब्दावली और सीमाओं को ठीक करता है, जबकि लागू व्यवहार को चयनित क्लाइंट और तैनाती में अभी भी देखा जाना चाहिए।
औपचारिक Brotli कार्यान्वयन एन्कोडर और डिकोडर स्रोत कोड प्रदान करता है। यह प्राथमिक स्रोत इस लेख में उपयोग की गई शब्दावली और सीमाओं को ठीक करता है, जबकि लागू व्यवहार को चयनित क्लाइंट और तैनाती में अभी भी देखा जाना चाहिए।
Brotli तैनाती नियम
Brotli को एक वार्तानुसार प्रतिनिधित्व कोडिंग के रूप में उपयोग करें, gzip या पहचान फ़ॉल बैक बनाए रखें, और मापे गए अंत-से-अंत परिणामों के बजाय छोटे आइसोलटेड फ़ाइल से एन्कोडर कार्य का चयन करें।
उस नियम को स्वीकार्यता परीक्षण में डालें। यह बताएं कि कौन सा प्रतिभागी संकेत भेजता है, कौन सा प्रतिभागी इसे व्याख्यायित करता है, कौन से मध्यस्थ पथ को बदल सकते हैं, और कौन सा सामग्री मार्कर सफलता को प्रमाणित करता है। इससे Brotli एक अवलोकनीय प्रणाली का हिस्सा बन जाता है न कि एक लेबल जो विफलता के बाद संलग्न हो।
क्या आप एक सार्वजनिक वेब प्रतिक्रिया को मान्य करने के लिए तैयार हैं?
Scrapeless Universal Scraping API का उपयोग करें ताकि अनुमोदित सार्वजनिक सामग्री प्राप्त की जा सके और इस मार्गदर्शिका में वर्णित प्रतिनिधित्व अनुबंध की जांच की जा सके।
आज ही साइन अप करें और प्राप्त करें $5 का मुफ्त क्रेडिट — कोई क्रेडिट कार्ड आवश्यक नहीं है.
आपका $5 क्रेडिट प्राप्त करें →अक्सर पूछे जाने वाले प्रश्न
क्या Brotli संकुचन हानिरहित है?
हाँ। Brotli डिकोडिंग तब मूल इनपुट बाइट्स को सटीक रूप से पुनर्निर्माण करती है जब स्ट्रीम मान्य होती है।
Content-Encoding: br का क्या अर्थ है?
यह इसका मतलब है कि HTTP प्रतिनिधित्व बाइट्स को Brotli के साथ एन्कोड किया गया था। प्राप्तकर्ता पहले br को डिकोड करता है और फिर Content-Type द्वारा नामित मूल मीडिया प्रकार की व्याख्या करता है।
क्या Brotli हमेशा gzip से बेहतर है?
नहीं। Brotli छोटे वेब-टेक्स्ट प्रतिनिधित्व उत्पन्न कर सकता है, लेकिन अनुकूलता, एन्कोडर प्रयास, देरी, सर्वर क्षमता, और सामग्री का आकार बेहतर तैनाती के विकल्प का निर्धारण करते हैं।
क्या Brotli को निर्माण समय पर उत्पन्न किया जाना चाहिए?
निर्माण समय पर पूर्व-संकुचन स्थिर स्थैतिक संपत्तियों के लिए एक अच्छा उपयुक्तता है क्योंकि यह अनुरोधों से एन्कोडर कार्य को हटा देता है। गतिशील सामग्री अभी भी मापे गए सेटिंग्स के साथ रनटाइम पर एन्कोड की जा सकती है।
Brotli प्रतिक्रिया स्क्रैपर में विफल क्यों हो सकती है?
क्लाइंट br का विज्ञापन नहीं कर सकता है या उसे डिकोड नहीं कर सकता है, या यह संकुचित बाइट्स का पाठ के रूप में विश्लेषण करने का प्रयास कर सकता है। Accept-Encoding, Content-Encoding, स्वचालित डिकोडिंग व्यवहार, और डिकोडेड सामग्री मार्कर की जांच करें।