कौन से ब्राउज़र `सामग्री-एन्कोडिंग: gzip` को संभालते हैं और उनमें से कौन सी एन्कोडिंग गुणवत्ता पर कोई विशेष आवश्यकता है?


44

मैं "हाथ से बना" HTTP 1.0, 1.1 सर्वर बना रहा हूं। मैंने हाल ही में ज़िप लिब को एकीकृत किया है ताकि अब मैं इनकोडेड गज़िपड डेटा को इन और आउट स्ट्रीम कर सकूं। मुझे आश्चर्य है कि कौन से प्रमुख ब्राउज़र (जीवित व्यक्ति - IE6-IE10, क्रोम, FF, आदि) भेजते हैं Accept-Encoding: deflate, gzip, ...और इसलिए Content-Encoding: gzipआज संभाल सकते हैं? उनमें से कौन सी गुणवत्ता की उम्मीदें भेजते हैं? उनमें से कौन सा मेरे सर्वर पर एन्कोडेड gziped पोस्ट अनुरोध और मल्टीपार्ट / फॉर्म डेटा भेज सकता है?


1
आप वैसे भी स्वीकार-एन्कोडिंग हेडर पर निर्भर नहीं होना चाहिए? या आप सिर्फ जिज्ञासा से बाहर पूछ रहे हैं?
फ़्लिमज़ी

@ पूरी तरह से यदि आप उन फ़ाइलों को स्टोर कर रहे हैं जो पहले से एनकोड हो चुकी हैं (जो कि आप सीपीयू लोड को कम करने के लिए कर सकते हैं, डिस्क स्थान उपयोग को कम करने के लिए, संपीड़न के स्तर को बढ़ाने के लिए, या क्योंकि आप पूरी तरह से स्थिर सर्वर से फ़ाइलों की सेवा कर रहे हैं) , तो आप वास्तव में स्वीकार-एन्कोडिंग हेडर का पालन करने के लिए लक्जरी नहीं है। यदि आप हेडर का पालन कर सकते हैं, तो आपको निश्चित रूप से करना चाहिए, लेकिन आजकल gzip का लगभग-सार्वभौमिक समर्थन दिया गया है, यह आपकी वेबसाइट को gzip समर्थन की आवश्यकता के लिए बनाने के लिए ठीक है।
हेडन शिफ

1
@haydenschiff बेशक आप अभी भी स्वीकार हेडर का सम्मान कर सकते हैं। यदि आप gzipped डेटा संग्रहीत कर रहे हैं, तो आप पहले से ही इसे अनज़िप करने के लिए तैयार हैं यदि यह हेडर स्वीकार करता है।
फ्लिमज़ी

जवाबों:


49

मूल रूप से आजकल हर ब्राउज़र डिफ्लेट / गज़िप का समर्थन करता है। यह पृष्ठ कई ब्राउज़रों और संस्करण संख्याओं को सूचीबद्ध करता है। यहाँ कुछ नए ब्राउज़रों का सारांश दिया गया है:

  • नेटस्केप 6+ (नेटस्केप 4-5 करता है, लेकिन कुछ बग्स के साथ)।
  • Internet Explorer 5.5+ (जुलाई 2000) और IE 4 यदि HTTP / 1.1 पर सेट है।
  • ओपेरा 5+ (जून 2000)
  • लिंक्स 2.6+ (1999 से कुछ समय पहले)
  • फ़ायरफ़ॉक्स 0.9.5+ (अक्टूबर 2001)
  • हमेशा के लिए क्रोम
  • सफारी हमेशा के लिए (जहाँ तक मैं बता सकता हूँ)

जैसा कि आप देख सकते हैं: लगभग 15 वर्षों से, पूर्ण समर्थन है, और कोई भी 15 वर्ष से अधिक पुराने ब्राउज़र का उपयोग नहीं करता है।


1
+1 मैं उलझन में था, क्योंकि यह एक गैर-मौजूद समस्या की तरह लगता है। @ user1049847 शायद आपको अपने प्रश्न का विस्तार करने की आवश्यकता है?
सु

3
और इसे जोड़ने के लिए, कोई भी ब्राउज़र एक gzip संपीड़ित अनुरोध नहीं भेजेगा, लेकिन लगभग सभी एक gzip संपीड़ित प्रतिक्रिया स्वीकार करते हैं। देखें " StackOverflow पर ब्राउज़र gzip रिक्वेस्ट क्यों नहीं भेज सकता? "
मार्को मिल्टेनबर्ग

2
@Su 'सही है - कोई भी ब्राउज़र जो gzip को सपोर्ट करता है वह Accept-Encoding हैडर भेजेगा ताकि आपको इसकी परवाह न हो कि कौन से ब्राउज़र इसे पसंद करते हैं। Gzip भेजें जब वे आपको बताते हैं कि वे इसे प्राप्त करने में सक्षम हैं।
असंतुष्टगीतगट

12
प्रश्न प्रासंगिक है। यदि आप Amazon S3, MS Azure और अन्य (जैसा कि बहुत से) से स्टैटिक फाइल्स परोस रहे हैं, आप डायनेमिक रूप से स्वीकार-एन्कोडिंग हेडर का जवाब नहीं दे पाएंगे। इसके अलावा मक्खी पर संपीड़ित करने से सीपीयू पर अतिरिक्त भार पड़ता है।
QFDev 18

1
@QFDev यदि आप स्टैटिक फाइल्स परोस रहे हैं, तो आप एक वर्जन बना सकते हैं जो कि gzipped है और एक ऐसा है जो एक्सेप्ट / एन्कोडिंग / gzip के लिए नहीं है और चेक करें और उसी के अनुसार स्टैटिक फाइल्स को बदलें।
जॉर्डनराइटर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.