2015-08-23 1 views
14

मैंने url Enabling Gzip in IIS on Windows 8 का पालन करके IIS 8.0 में gzip संपीड़न को सक्षम किया है। मैं jquery AJAX कॉल और C# कोड के माध्यम से अपने एप्लिकेशन से बाहरी आराम सेवाओं को कॉल कर रहा हूं, वर्तमान में मेरी बाहरी वेब सेवा संकुचित नहीं है। अगर मैं अपने सेवा साथी से उनकी प्रतिक्रिया को देखने के लिए कहता हूं, तो क्या मुझे अपने कोड में jquery side और C# side या ब्राउज़र पर किसी भी डिकंप्रेशन तर्क को लिखने की ज़रूरत है, जो स्वचालित रूप से मेरे लिए प्रतिक्रिया को कम कर देता है?क्या GZIP ब्राउज़र द्वारा स्वचालित रूप से डिक्रप्रेस किया गया है?

उत्तर

14

सभी आधुनिक ब्राउज़र एक gzip एन्कोडेड प्रतिक्रिया को संभाल सकते हैं। वास्तव में, यदि आप उनके अनुरोधों को देखते हैं, तो उनके पास एक शीर्षलेख होगा जो Accept-Encoding: gzip की लाइनों के साथ कुछ कहता है जो कि सर्वर से कहने का उनका तरीका है कि वे gzipped प्रतिक्रियाओं को संभाल सकते हैं।

महत्वपूर्ण हिस्सा यह है कि आपका सर्वर उस शीर्षलेख के अस्तित्व और मूल्य के आधार पर दोनों gzip और असंपीड़ित प्रतिक्रियाओं को वापस कर सकता है। यदि कोई ग्राहक Accept-Encoding शीर्षलेख नहीं भेजता है, तो आपको इसे संपीड़ित नहीं करना चाहिए। यदि ग्राहक इसे भेजता है, तो आप वैकल्पिक रूप से gzip का उपयोग करके प्रतिक्रिया को एन्कोड कर सकते हैं। सभी सामग्री को संपीड़ित करने की आवश्यकता नहीं है क्योंकि यह पहले ही संपीड़ित हो सकती है और आप CPU चक्र बर्बाद कर रहे हैं। जेपीईजी छवियां आमतौर पर इसका एक अच्छा उदाहरण हैं। सबसे अधिक संभावना है कि, आईआईएस यहां भी एक बुद्धिमान निर्णय ले रहा है और आवश्यक होने पर केवल आवश्यकतानुसार संपीड़ित कर रहा है।

आप यह सत्यापित कर सकते हैं कि आईआईएस आपके सर्वर से वापस आने वाले प्रतिक्रिया शीर्षकों को देखकर और Content-Encoding: gzip शीर्षलेख की तलाश करके क्या कर रहा है। यह क्लाइंट, या ब्राउज़र को बताता है कि सामग्री gzip संपीड़न का उपयोग करके एन्कोड किया गया है और इसे उचित रूप से डिकंप्रेस करना चाहिए।

सभी ब्राउज़र आधारित अनुरोध (उदा।, AJAX/jQuery, नियमित अनुरोध) स्वचालित रूप से आपके द्वारा अतिरिक्त प्रयास किए बिना डिकंप्रेस हो जाएंगे। यह ब्राउज़र यह निर्धारित करने के लिए ज़िम्मेदार है कि यह gzip को संभाल सकता है और Accept-Encoding शीर्षलेख जोड़ देगा यदि यह करता है। आपके जावास्क्रिप्ट कोड को आपके प्रतिक्रिया हैंडलर में असंपीड़ित संस्करण प्राप्त होगा।

टीएल; डीआर: इसे चालू करना आम तौर पर एक अच्छा विचार है और आपको अतिरिक्त काम करने की आवश्यकता नहीं है।

+0

आपके उत्तर के लिए धन्यवाद एक टन। अद्भुत जवाब। यह मुझे बहुत मदद करता है :) – user5075511

1

यदि gzip संपीड़न वेब सर्वर पर सक्षम है, यानी अनुप्रयोग तर्क में नहीं है, तो ब्राउज़र स्वचालित रूप से असम्पीडित होगा।

वास्तव में, यदि ब्राउज़र संपीड़न का समर्थन नहीं करता है तो वेब सर्वर डेटा को असंपीड़ित करेगा (यह जानकारी ब्राउज़र/वेब सर्वर के बीच अनुरोध/प्रतिक्रिया http शीर्षलेखों में आदान-प्रदान में है)। बस जागरूक रहें कि संपीड़न जेपीईजी और अन्य पहले से संकुचित प्रारूपों के साथ अप्रभावी है।

संबंधित मुद्दे

 संबंधित मुद्दे