2012-09-07 19 views
25

यह एन्कोडिंग हेडर वेब सर्वर को उपलब्ध होने पर gzip सामग्री भेजने के लिए कहता है।क्या एन्कोडिंग स्ट्रिंग वेब सर्वर को gzip सामग्री भेजने के लिए नहीं बताती है?

'accept-encoding': 'gzip,deflate,sdch', 

मैं वेब सर्वर को सादे पाठ भेजने और सामग्री को gzip करने के लिए कैसे निर्देश दे सकता हूं? मुझे पता है कि वेब सर्वर इस अनुरोध को अनदेखा कर सकता है अगर वह चाहता था।

+3

यह सिर्फ एक बहुत भोली जवाब हो सकता है निर्धारित करते हैं, लेकिन नहीं तुम सिर्फ स्वीकार कर लिया एन्कोडिंग की है कि सूची से 'gzip' प्रविष्टि को निकालने चाहिए? –

+0

यह तय करने के लिए वेब सर्वर पर नहीं जायेगा कि gzip करना है या नहीं? मैं स्पष्टीकरण कहना चाहता हूं कि gzip सामग्री न भेजें। – saeed

+1

नहीं। यदि आप gzip 'स्वीकार' नहीं करते हैं, तो सर्वर gzip नहीं भेज सकता है। – bmargulies

उत्तर

16

स्वीकृति-एन्कोडिंग से एन्कोडिंग छोड़ने से एन्कोडिंग (यानी gzip) को अस्वीकार कर दिया जाएगा।

आप चाहते हैं स्पष्ट रूप से यह सेट के रूप में उसे अस्वीकृत, आप में से एक qvalue 0.

'accept-encoding': 'gzip;q=0,deflate,sdch' 

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

+2

gzip स्ट्रिंग को छोड़कर सर्वर पर काम कर रहा है लेकिन qvaule नहीं था। मुझे लगता है कि यह सर्वर पर निर्भर करता है और इसकी कॉन्फ़िगर कैसे किया जाता है। – saeed

+0

[busybox httpd] (https://git.busybox.net/busybox/tree/networking/httpd.c#n2356) एक सर्वर का उदाहरण है जो qvalue का समर्थन नहीं करता है, इसलिए कुछ एम्बेडेड डिवाइसों के लिए, 'gzip; q = 0' काम नहीं करेगा। –

45

accept-encoding हेडर सहित नहीं है इसका तात्पर्य है कि आप डिफ़ॉल्ट एन्कोडिंग चाहते हैं, यानी identity। यहां चेतावनी यह है कि RFC2616 sec 14.3 सर्वर को यह मानने की अनुमति देता है कि कोई भी उपलब्ध एन्कोडिंग स्वीकार्य है।

स्पष्ट अनुरोध सादा पाठ करने के लिए, 'accept-encoding: identity'

+3

यह एकमात्र उत्तर है जो मेरे लिए काम करता है। एन्कोडिंग छोड़ने से मदद नहीं मिली। – Andreas

+0

क्या आपको कोई 'सामग्री-एन्कोडिंग' हेडर के साथ कोई प्रतिक्रिया मिली है? – Will

+0

विल> मेरे पास एक ही समस्या थी, और मेरे सर्वर ने gzip सामग्री का उत्तर दिया यदि कोई एन्कोडिंग निर्दिष्ट नहीं किया गया था (कहा गया सर्वर टॉमकैट 8 था)। "पहचान" एन्कोडिंग ने मेरे पीबी को हल किया। – pataluc