2011-10-28 6 views
16

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

पुराने संस्करण को Google कैश, archive.com, आदि का समर्थन करने के लिए तर्क है, लेकिन अगर मैं फ़ाइल को संपादित करना और सीएसएस में एक क्वेरी स्ट्रिंग जोड़ना चाहता हूं तो यह हमारे सिस्टम पर भी अधिक क्लीनर होगा छवि कॉल:

#element-id { background-image: url('my-sprite.png?version1'); } 

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

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

+1

ऐसा लगता है जैसे स्टैक ओवरफ़्लो उनके sprites के साथ एक ही चीज़ करता है, इसलिए कम से कम एक मामला है। [सीएसएस फ़ाइल] की जांच करें (http://cdn.sstatic.net/stackoverflow/all.css?v=2b9549b94105): 'पृष्ठभूमि-छवि: यूआरएल ("img/sprites.png? V = 4") ' –

उत्तर

1

जब तक ब्राउज़र गंभीर रूप से टूटा नहीं जाता है, तो कुछ भी गलत नहीं होना चाहिए। मान लीजिए कि आप गतिशील फ़ाइल का उपयोग करना चाहते हैं, जैसे कि url('/layout.php?section=1') या कुछ। क्वेरी स्ट्रिंग्स की आवश्यकता होती है, इसलिए यदि ब्राउज़र काम नहीं करता है तो यह काफी बुरी तरह टूट जाएगा।

+0

I पहले कभी सीएसएस में गतिशील फाइलें नहीं देखी हैं, इसलिए एक उदाहरण नहीं देखा था। क्या आप इसका इस्तेमाल करने वाले किसी उदाहरण के बारे में जानते हैं? –

+0

@StevePerks: मैंने कुछ समय के लिए छवि आकार 'url (img.jpg? W = 200)' के लिए क्वेरी स्ट्रिंग का उपयोग किया है और किसी भी समस्या का अनुभव नहीं किया है। मुझे कोई कारण नहीं दिख रहा है कि कोई समस्या क्यों होगी, यूआरआई एक यूआरआई संसाधन के लिए एक मार्ग है - संदर्भ से कोई फर्क नहीं पड़ता। हालांकि कैश चीज - मुझे यकीन नहीं है ... –

+0

धन्यवाद वेस्ले - स्टैक ओवरफ्लो का लिंक इसका उपयोग सुनहरा था !!! डब्लूआरटी कैशिंग, वहां लेख हैं जो ब्राउज़र छवियों और टेक्स्ट फ़ाइलों को डिफ़ॉल्ट रूप से कैश-सक्षम के रूप में मानेंगे, और क्वेरी स्ट्रिंग वाले किसी भी चीज़ को कैश नहीं किया जाएगा। हालांकि, वे सर्वर से आने वाली हेडर जानकारी सुनेंगे, इसलिए आपको सावधान रहना होगा कि आपका कैश बस्टिंग वास्तव में कैश को पूर्ण समय में नहीं रोक रहा है! –

0

एकमात्र मुद्दा जो आप चला सकते हैं वह है सीएसएस फाइलें जितनी चाहें उतनी अधिक कैश की जाती हैं। यदि my-sprite.png?version1 का उत्पादन अक्सर बदल रहा है, तो यह पेज पर ही बेहतर होगा।

+1

को संबोधित करता है सीएसएस फ़ाइल भी बदल जाती है जब भी यह बदल जाती है –

20

tl; डॉ क्वेरी पैराम का उपयोग 100% समाधान नहीं है। जब आप उन्हें

  • करना चाहते कैश अमान्य जब आप फ़ाइल फिरना

    1. सुनिश्चित करें कि आपके संसाधनों इसे साफ़ कर बनाना:

      वहाँ मूलतः दोनों समस्याओं जब संपत्ति पाइप लाइन का उपयोग कर रहे हैं।

    प्रश्न स्ट्रिंग पैरा कभी-कभी नेटवर्क या ब्राउज़र को आपके संसाधन को कैश नहीं करने का कारण बनेंगे। मिस्टर आयरिश बताते हैं कि "क्वेरी स्ट्रिंग दृष्टिकोण स्क्विड प्रॉक्सी सर्वर के पीछे ग्राहकों के लिए विश्वसनीय नहीं है" इसलिए यह कैश को भी बस्ट करने के लिए अविश्वसनीय हो सकता है। असल में आप अन्य लोगों की कॉन्फ़िगरेशन पर भरोसा नहीं करना चाहते हैं।

    संदर्भ के एक जोड़े:

    • Rails Guides: Asset Pipeline - रेल एसेट पाइपलाइन एक परियोजना है कि अब एक अच्छा कुछ वर्षों के लिए समस्याओं के इन प्रकार को सुलझाने पर ध्यान केंद्रित किया Sprockets पर बनाया गया है। वे विशेष रूप से बोल्ड में कम बताते हैं कि "सभी कैश विश्वसनीय रूप से सामग्री को कैश नहीं करेंगे जहां फ़ाइल नाम केवल क्वेरी पैरामीटर से भिन्न होता है।"

    • Steve Soulders Article on revving assets - स्टीव Souders एक वेब प्रदर्शन गुरु और ओ रेली पुस्तक के लेखक के बारे में कुछ है "उच्च प्रदर्शन वेबसाइट" इस लेख रेल गाइड है कि फ़ाइल नाम revving का उपयोग कर पता चलता है प्रॉक्सी के पीछे लोगों के साथ मुद्दों से बचने के लिए करने के लिए संदर्भित लिखा था सर्वर।

    • HTML5 Boilerplate Suggestion - आदरणीय पॉल आयरिश और निकोलस गैलाघर द्वारा बनाए गए एचटीएमएल 5 बॉयलरप्लेट प्रोजेक्ट को अनिवार्य रूप से फ़ाइल नाम बदलने के लिए फ़िल्टर बनाने के लिए .htaccess का उपयोग करें। वे विशेष रूप से क्वेरी स्ट्रिंग संस्करणों के स्थान पर फ़ाइल नाम संशोधन का उपयोग करने का सुझाव देते हैं।

  • +0

    अन्य संसाधन https: //developers.google.com/speed/docs/best-practices/caching?csw=1#LeverageProxyCaching – michieljoris

    +1

    एचटीएमएल 5 बॉयलरप्लेट लिंक टूटा हुआ है। सबसे नज़दीकी चीज जो मुझे मिल सकती थी वह बदलाव था जिसमें इसे एच 5 बीपी प्रोजेक्ट में जोड़ा गया था: https://github.com/h5bp/html5-boilerplate/commit/e81479ba2f7d0fc386448baa5edea5d0e1116c63। – blachniet

    +0

    अच्छी बात यह है कि विकी के पास संस्करण नियंत्रण है: https://github.com/paulirish/html5-boilerplate/wiki/cachebusting/e58c07be9f0a43da08e766b21514f81ece24fa17 – mpen

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

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