HTTP
प्रतिक्रिया एन्कोडिंग और संपीड़न
खोज…
HTTP संपीड़न
HTTP संदेश निकाय को संकुचित किया जा सकता है (HTTP / 1.1 के बाद से)। या तो सर्वर अनुरोध को संकुचित करता है और एक Content-Encoding
हेडर जोड़ता है, या एक प्रॉक्सी द्वारा और Transfer-Encoding
हेडर जोड़ता है।
एक क्लाइंट Accept-Encoding
अनुरोध शीर्ष लेख भेज सकता है यह इंगित करने के लिए कि कौन सा एन्कोडिंग इसे स्वीकार करता है।
सबसे अधिक उपयोग किए जाने वाले एन्कोडिंग हैं:
- gzip - "Gzip" फाइल के कम्प्रेशन प्रोग्राम ( RFC1952 ) में लागू CRC32 चेकसम के साथ एल्गोरिथ्म (LZ77) को डिफ्लेट करें
- अपस्फीति - Adler32 चेकसम के साथ "zlib" डेटा प्रारूप ( RFC1950 ), डिफलेट एल्गोरिथ्म (हाइब्रिड LZ77 और हफ़मैन)
कई संपीड़न तरीके
HTTP प्रतिसाद संदेश निकाय को एक से अधिक बार संपीड़ित करना संभव है। एन्कोडिंग नामों को तब अल्पविराम द्वारा अलग किया जाना चाहिए जिस क्रम में उन्हें लागू किया गया था। उदाहरण के लिए, यदि कोई संदेश डिफ्लेट और फिर gzip के माध्यम से संपीड़ित किया गया है, तो हेडर को ऐसा दिखना चाहिए:
Content-Encoding: deflate, gzip
एकाधिक Content-Encoding
हेडर भी मान्य हैं, हालांकि अनुशंसित नहीं हैं:
Content-Encoding: deflate
Content-Encoding: gzip
gzip संपीड़न
क्लाइंट पहले एक Accept-Encoding
हेडर के साथ एक अनुरोध भेजता है जो इंगित करता है कि यह gzip का समर्थन करता है:
GET / HTTP/1.1\r\n
Host: www.google.com\r\n
Accept-Encoding: gzip, deflate\r\n
\r\n
सर्वर फिर एक संपीड़ित प्रतिक्रिया निकाय और एक Content-Encoding
हेडर के साथ एक प्रतिक्रिया भेज सकता है जो निर्दिष्ट करता है कि gzip एन्कोडिंग का उपयोग किया गया था ::
HTTP/1.1 200 OK\r\n
Content-Encoding: gzip\r\n
Content-Length: XX\r\n
\r\n
... compressed content ...