2010-12-02 13 views
10

Django के साथ काम करने के बाद, मैंने देखा है कि लोग HTML पृष्ठों को संपीड़ित करने के लिए GZIP Middleware के उपयोग को पुनः प्राप्त करते हैं।क्या मुझे एक जीजेआईपी संपीड़न मिडलवेयर का उपयोग करना चाहिए या नहीं?

(नोट::

हालांकि, WSGI v1.0 specification हमें बताता है अनुप्रयोगों और मिडलवेयर इस तरह बेडौल या gzipping के रूप में अपने उत्पादन के लिए Transfer-Encoding के किसी भी प्रकार के लिए लागू नहीं होगा,, के रूप में "हॉप-से-हॉप" संचालन, इन एनकोडिंग वास्तविक वेब सर्वर/प्रवेश द्वार के प्रांत हैं। नीचे दिए गए Other HTTP Features देखें अधिक जानकारी के लिए।)

यह पता चलता है कि संपीड़न सर्वर/प्रवेश द्वार के लिए छोड़ दिया जाना चाहिए। जो समझ में आता है, क्योंकि सर्वर ऐसा करने में शायद तेज़ है। साथ ही, यह gzip पर SDCH पसंद कर सकता है, क्योंकि अधिकांश आधुनिक क्रोम/क्रोमियम ब्राउज़र इसका समर्थन करते हैं।

तो मेरा प्रश्न बनी हुई है, क्या मुझे अपने प्रतिक्रियाओं को संपीड़ित करने के लिए एक मिडलवेयर का उपयोग करना चाहिए या नहीं? विशेष रूप से, Google App Engine के लिए सही विकल्प क्या है?

संपादित करें:

Pylons बुक भी एक example gzip middleware शामिल हैं।

मैंने उल्लेख नहीं किया कि मेरी पसंद का ढांचा Pyramid (ex-repoze.bfg) है।

उत्तर

8

ऐप इंजन already does सामग्री को संपीड़ित करता है, यदि ग्राहक इसका समर्थन करता है।

ग्राहक के अनुरोध का संकेत है कि ग्राहक संकुचित स्वीकार कर साथ HTTP हेडर भेजता है (gzipped) सामग्री, App इंजन प्रतिक्रिया डेटा स्वचालित रूप से संपीड़ित करता है और उचित प्रतिक्रिया हेडर जुड़ जाता है। यह स्वीकार्य-एन्कोडिंग और उपयोगकर्ता-एजेंट अनुरोध हेडर का उपयोग यह निर्धारित करने के लिए करता है कि क्लाइंट विश्वसनीय रूप से संपीड़ित प्रतिक्रिया प्राप्त कर सकता है या नहीं। कस्टम क्लाइंट सामग्री को "gzip" के मान के साथ स्वीकृति-एन्कोडिंग और उपयोगकर्ता-एजेंट शीर्षलेख निर्दिष्ट करके संपीड़ित कर सकते हैं।

+0

यह देखते हुए कि जीएई स्थैतिक फाइलों को संपीड़ित करता है, क्या यह मिनीफाइड जावास्क्रिप्ट/सीएसएस/एचटीएमएल का उपयोग करने के लिए कोई समझ, प्रदर्शन के अनुसार करता है? – speedplane

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

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