2009-10-19 18 views
13

सीएसएस http अनुरोधों को कैसे कम करें?सीएसएस http अनुरोधों को कैसे कम करें?

1 बड़ा सीएसएस फ़ाइल

या एक सीएसएस फ़ाइल जो अन्य सभी सीएसएस

यह वही है आयात करने?

इस

 
@import url('/css/typography.css'); 
@import url('/css/layout.css'); 
@import url('/css/color.css'); 

उत्तर

11

1 बड़े सीएसएस फ़ाइल या एक सीएसएस फ़ाइल जो अन्य सभी सीएसएस का आयात यह एक ही है?

कोई ग्राहक अभी भी हर सीएसएस फ़ाइल

कुछ लिंक (एक HTTP अनुरोध प्रत्येक के साथ) HTTP अनुरोध को कम करने के बारे में अधिक जानने के लिए लोड करने के लिए की जरूरत है के रूप में

यदि आप फ़ायरफ़ॉक्स का उपयोग कर रहे हैं तो मैं अत्यधिक अनुशंसा करता हूं Firebug, जो HTTP-अनुरोधों के बारे में विस्तृत जानकारी के साथ एक दृश्य प्रदान करता है।
संपादित करें:
flybywire टिप्पणी में बताते हैं के रूप में:

  • वैश्विक संयुक्त करें: YSlow एक Firefox विस्तार है कि Firebug के साथ एकीकृत वेब पेज प्रदर्शन

    3 आसान बातें मैं पहले की कोशिश करेगा विश्लेषण करने के लिए है सीएसएस (चीजें जो आप प्रत्येक पृष्ठ पर उपयोग करते हैं)

  • सीएसएस संपीड़ित करें (YUI compressor या कुछ ऑनलाइन उपकरण के साथ)
  • इनलाइन पृष्ठ-विशिष्ट सामान (चीजें हैं जो पृष्ठों के बीच साझा नहीं कर रहे हैं)

उन चीजों में से अधिकांश भी जावास्क्रिप्ट फ़ाइलों के लिए लागू होते हैं।

+4

और यदि आप फायरबग का उपयोग कर रहे हैं, तो मैं अत्यधिक अनुशंसा करता हूं YSlow – flybywire

3

एक शैली आयात का उपयोग अभी भी एक HTTP अनुरोध को गति प्रदान करेगा का क्या लाभ है। मैं केवल एक सीएसएस फ़ाइल की सेवा करने की सलाह देते हैं। आप एक ही फाइल से अपने सभी सीएसएस नियमों को प्रबंधित किए बिना एक फ़ाइल भेजने के लिए सर्वर पक्ष से आयात का उपयोग करके कई सीएसएस फाइलों को जोड़ सकते हैं।

+2

और इससे जीवन को कम करें! – random

0

आप आम सीएसएस फ़ाइलें जो ब्राउज़र के लिए एक एकल minified सीएसएस फ़ाइल के रूप में वितरित किया जाना चाहिए की एक सूची निर्दिष्ट करने के लिए एक HTTP अनुरोध combiner उपयोग कर सकते हैं। इससे आकार कम हो जाएगा और अनुरोधों की संख्या में काफी कमी आएगी।

एक नेट संदर्भ में इस काम के का एक अच्छा उदाहरण: http://www.codeproject.com/KB/aspnet/HttpCombine.aspx

1

मामले में आप asp.net MVC के प्रयोग कर रहे हैं - this approach की जाँच करें। अभी भी एक आकर्षण की तरह काम करता है। असल में - यह एसेट फाइलों को गठबंधन, संपीड़ित और कैश करने के लिए प्रेजेंटफैंडर का उपयोग करता है।

लेकिन यह asp.net विशिष्ट है। यह नहीं बता सकता कि क्या मदद करता है।


Offtopic:

उसी तकनीक आप जावास्क्रिप्ट फ़ाइलों के लिए आवेदन कर सकते हैं (यह अच्छा संरचित js फ़ाइलें और अभी भी करने के लिए महान लगता है - कई HTTP अनुरोध से बचने के लिए)।

छवियों के लिए - spriting देखें। यह bookmarklet भी काफी उपयोगी हो सकता है।

1

क्या आप http अनुरोधों या उनमें से आकार को कम करना चाहते हैं?

मैं एक बड़े सीएसएस फ़ाइल (प्रयुक्त सभी अपने पुस्तकालयों/plugins के साथ) में सभी सबसे अधिक इस्तेमाल किया चयनकर्ताओं रख दिया और ऑनलाइन अनुकूलक/minimizers के साथ यह कम करें करने के लिए सिफारिश करेंगे

0

मैं इस बारे में कुछ ब्लॉग पोस्ट ने लिखा है । Supercharging CSS in PHP देखें। हालांकि यह PHP के लिए लिखा गया है सिद्धांत सिद्धांत सार्वभौमिक हैं।

असल में आपका लक्ष्य बाहरी HTTP अनुरोधों को कम करना है। आप इसे अपनी सीएसएस फाइलों के संयोजन के संयोजन के साथ कर सकते हैं और/या अपनी सीएसएस फाइलों को संस्करणित कर सकते हैं और एक दूर भविष्य का उपयोग कर हेडर समाप्त कर सकते हैं।

आखिरकार, यदि ग्राहक इसे स्वीकार करता है तो आपको हमेशा GZip CSS (और जावास्क्रिप्ट) होना चाहिए।

1

आप एक वेब खेत से अपने सीएसएस फ़ाइलों की सेवा करने के लिए जा रहे हैं या यह एक उच्च मात्रा साइट है, तो मैं इस पर एक नज़र होने सुझाव है: http://code.google.com/p/talifun-web/wiki/CrusherModule यह एक फ़ाइल द्रष्टा का उपयोग करता सीएसएस/जे एस पर परिवर्तन देखने के लिए फ़ाइलें। सीएसएस/जेएस फ़ाइलें web.config में निर्दिष्ट फ़ाइल सेट से संबंधित हैं। जब घटक जेएस/सीएसएस फाइलों में से किसी एक पर एक परिवर्तन का पता चला है तो यह फ़ाइल सेट के लिए एक नया मुंगड सीएसएस या जेएसएस बनाता है।

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

इसका मतलब है कि आप सीधे आईआईएस के साथ मुंग वाली फ़ाइल की सेवा कर सकते हैं। फिर आप कर्नेल मोड कैशिंग का लाभ उठा सकते हैं। इसके अलावा, आप http हैडर समर्थन की गाड़ी कार्यान्वयन के बारे में चिंता की जरूरत नहीं है इसका मतलब है:

  • ETag
  • समय-सीमा समाप्त
  • Last-Modified
  • हैं-मैच
  • तो कोई मिलान नहीं वाले
  • यदि संशोधित-
  • यदि-अनमोडिफाइड-
  • अन-संशोधित-
  • 012 के बाद से

अपनी सभी जेएस/सीएसएस फ़ाइलों को पूरी वेबसाइट के लिए एक विशाल फ़ाइल में संपीड़ित करना बेहतर है, तो यह गतिशील रूप से पृष्ठ के लिए जरूरी जेएस/सीएसएस फाइलों को सेवा प्रदान करना है। ब्राउज़र एक विशाल फ़ाइल को कैश कर सकते हैं और फिर कभी भी आपकी साइट से सीएसएस/जेएस डाउनलोड करने के बारे में चिंता करने की ज़रूरत नहीं है।

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