मैं अपने वेबसर्वर को एक HTTP प्रतिक्रिया को सही ढंग से gzip करने की कोशिश कर रहा हूं जो खंड एन्कोडिंग है।चंकित एन्कोडिंग प्रतिक्रिया के gzip संपीड़न?
गैर gzip प्रतिक्रिया की मेरी समझ है कि यह इस तरह दिखता है है:
<the response headers>
और उसके बाद प्रत्येक हिस्सा के लिए,
<chunk length in hex>\r\n<chunk>\r\n
और अंत में, एक शून्य लंबाई हिस्सा:
0\r\n\r\n
मैंने gzip संपीड़न काम करने की कोशिश की है और मैं कुछ मदद का उपयोग कर सकता हूं यह पता लगाने के लिए कि एसी क्या होना चाहिए वापस लौटाया जा सकता है। यह प्रलेखन का तात्पर्य है कि पूरे प्रतिक्रिया, gzipped किया जाना चाहिए के रूप में प्रत्येक हिस्सा gzipping करने का विरोध किया:
HTTP servers sometimes use compression (gzip) or deflate methods to optimize transmission.
Chunked transfer encoding can be used to delimit parts of the compressed object.
In this case the chunks are not individually compressed. Instead, the complete payload
is compressed and the output of the compression process is chunk encoded.
मैं पूरी बात gzip और प्रतिक्रिया वापस भी chunked बिना करने की कोशिश की, और यह काम नहीं किया। मैंने सामग्री-एन्कोडिंग हेडर को "gzip" पर सेट करने का प्रयास किया। क्या कोई बता सकता है कि उपरोक्त योजना में भागों के gzipping का समर्थन करने के लिए क्या परिवर्तन किए जाने चाहिए? धन्यवाद।
ठीक वही है जो उसने कहा कि वह कर रहा है, है ना? – sosiouxme
इसमें पहली वाक्य वास्तव में भ्रमित है। मुझे लगता है कि इसे बदला जाना चाहिए ..... आप प्रत्येक चंक के शरीर को चकित करते हैं (मैंने इसे अभी लागू किया है और यह एक आकर्षण की तरह काम करता है)। आप पूरी सामग्री को gzip नहीं करते हैं तो चंकित एन्कोडिंग लागू करें। आप प्रत्येक शरीर को gzip और संकुचित बाइट सरणी आकार के रूप में खंड आकार चिह्नित करें। –