2012-07-14 16 views
6

में जे एस मैं YUI compressor plugin उपयोग कर रहा हूँ मेरी जावा ईई आवेदन के भीतर संपीड़ित करने के लिए और gzip जे एस और सीएसएस फ़ाइलें।संदर्भित gzip संकुचित सीएसएस और HTML/JSPs

हालांकि, मैं अपने HTML/JSP फ़ाइलों के भीतर उन्हें कैसे को संदर्भित करने पर स्पष्ट नहीं कर रहा हूँ।

अगर मैं बस .gzip संदर्भ का उपयोग करें, ब्राउज़र स्पष्ट रूप से कह शिकायत -

Resource interpreted as Script but transferred with MIME type application/x-gzip

वर्तमान संदर्भ इस तरह दिखता है (जो उपरोक्त त्रुटि फेंकता):

<script type="text/javascript" src="/scripts/home.js.gz"></script> 
+0

संपीड़न एक HTTP सुविधा है, [आपके सर्वर यह तुम्हारे लिए क्या करना चाहिए] (http://sourceforge.net/projects/mod-gzip/), तो आप जा अपनी फ़ाइलें पूर्व gzipping करने की जरूरत नहीं होनी चाहिए। – robertc

उत्तर

1

आप उन्हें सामान्य .js और .css एक्सटेंशन के साथ संदर्भित करें और जांचें कि gzip सीएसएस और जेएस फ़ाइलों पर प्रतिक्रिया शीर्षलेखों की जांच करके फ़ायरबग या डेवलपर टूल के माध्यम से जांच कर काम कर रहा है या नहीं।

Gzipping आमतौर पर वेब सर्वर स्तर पर किया जाता है।

आप बिल्ला उपयोग कर रहे हैं तो आप अपने बिलाव स्थापना की conf/server.xml खोलने के लिए और कनेक्टर परिभाषा के लिए निम्न जोड़ सकते हैं।

<Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" connectionTimeout="20000" 
      compressableMimeType="text/html,text/xml,text/css,text/javascript,text/plain,application/javascript,application/json" 
      compression="2048"/> 

अपाचे के लिए mod_gzip को देखने या mod_deflate

यह आपके जड़ .htaccess फाइल में चला जाता है, लेकिन आप httpd.conf के लिए उपयोग किया है, तो यह है कि बेहतर है।

<ifModule mod_deflate.c> 
<filesMatch "\.(js|css)$"> 
SetOutputFilter DEFLATE 
</filesMatch> 
</ifModule> 
+0

मैं इसे आजमाउंगा और वापस आऊंगा ... – Saket

2

क्या आप देख रहे हैं आपके ब्राउज़र में एक चेतावनी है, यह इस किसी भी समय आप लौटे सामग्री प्रकार की तुलना में अलग डेटा की व्याख्या में दिखाई देंगे।

यह क्या तुम सच में ऐसा करने की कोशिश कर रहे हैं:

Content-Type: text/javascript 
Content-Encoding: gzip 

यह ब्राउज़र त्रुटि निकाल देंगे, लेकिन यह भी ब्राउज़र स्वीकार करते हैं कि इस फाइल को उपयोग करने से पहले असम्पीडित होना चाहिए बनाते हैं।

0

यद्यपि आप बिल्ला कॉन्फ़िगर सभी gzip करने के लिए कर सकते हैं के लिए आप, मैं मैन्युअल js और css फ़ाइलों की तरह अपने निश्चित संसाधनों ज़िप और या js.gz के रूप में अपने सर्वर पर उन्हें बचाने के लिए सलाह देते हैं, तो आप एक सर्वलेट इन भेजने के लिए उपयोग कर सकते हैं ग्राहक, के लिए स्थिर और पूर्व कंप्रेस फ़ाइलों जब एक अनुरोध में आया था।

कृपया सर्वलेट कार्यान्वयन के लिए https://gist.github.com/suprememoocow/1570654 देखते हैं।

अपने सर्वर एक gzip फ़ाइलों cahing के लिए तंत्र में बनाया गया है, तो आप इसके साथ जा सकते हैं। जहां तक ​​मुझे लगता है कि टोमकैट (7) में अभी तक यह सुविधा नहीं है।

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