2012-07-06 12 views
5

वेब ऐप बनाने के लिए एक ट्यूटोरियल के माध्यम से जाना और इसे हमेशा कैशिंग को रोकने के लिए सभी .css और .js फ़ाइलों को क्वेरी स्ट्रिंग "? V = 1" जोड़ने की अनुशंसा की गई है।कैशिंग को रोकने के लिए सभी .js और .css फ़ाइलों को क्वेरी स्ट्रिंग जोड़ना?

क्या यह एक 'सर्वोत्तम अभ्यास' है?

क्या क्वेरी स्ट्रिंग केवल उत्पादन-विकास के दौरान उपयोग की जानी चाहिए?

+1

आप कैशिंग को क्यों रोकना चाहते हैं? क्या आप अपने ऐप को तेज़ी से नहीं बनाना चाहते हैं –

+0

एक उत्पादन साइट विकास साइट के विपरीत है। "उत्पादन-विकास" का क्या अर्थ है? – feeela

+0

मैं एक कंपनी के लिए काम करता हूं और हम बड़े पैमाने पर यातायात के साथ एक ऑटोमोबाइल साइट विकसित करते हैं। हम कैशिंग के लिए अमेज़ॅन एस 3 क्लाउड का उपयोग करते हैं। उत्पादन वातावरण के लिए आप विशेष रूप से कैश करना चाहते हैं यदि आपके पास बहुत अधिक ट्रैफ़िक है – Huangism

उत्तर

1

मुझे लगता है कि यह ठीक है, लेकिन जहाँ तक सबसे अच्छा अभ्यास की बात है कि वास्तव में व्यक्तिपरक है।

सबसे लोकप्रिय, सबसे व्यापक रूप से उपयोग किया जाने वाला सीएमएस इस विधि का उपयोग करता है, इसलिए मैं इसे जाने का तरीका मानता हूं।

क्या लोग नहीं समझते हैं कि यह विधि ब्राउज़रों को सिग्नल करने का सबसे आसान तरीका नहीं है कि इस फ़ाइल को कैश किया जा सकता है लेकिन संस्करण में परिवर्तन होने पर ही रिक्त किया जाता है।

पहले प्रश्न का संक्षिप्त उत्तर, हाँ

जहां तक ​​दूसरा सवाल "उत्पादन-विकास" एक ऑक्सीमोरोन है। यह उत्पादन या विकास कौन सा है?

पीएचपी:

<script src="<?= $file.’?’.filemtime($file); ?>"> 

Node.js

res.write('<script src="' + file + '?' + new Date(fs.statSync(file).mtime).getTime()); 

यह

+0

का मतलब विकास –

+0

प्रश्न का उत्तर देने के लिए, हाँ। विकास को उसी कारण के लिए संस्करण का उपयोग करना चाहिए जो उत्पादन करना चाहिए। – iambriansreed

1

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

+0

मुझे लगता है कि आपको उस फ़ाइल को काम करने का एक तरीका भी जिक्र करना चाहिए, या तो आप फ़ाइल नाम मैन्युअल रूप से बदलते हैं या आप ऐसा कुछ करते हैं: http://derek.io/blog/2009/auto-versioning-javascript-and- सीएसएस-फाइलें/ – mcdado

+0

यही प्रश्न चिह्न है। प्रश्न चिह्न से सबकुछ फ़ाइल नाम का हिस्सा नहीं है, यह [querystring] है (http://en.wikipedia.org/wiki/Query_string)। आम तौर पर, सर्वर बस इसे अनदेखा कर देगा। –

+0

क्षमा करें, उसे नहीं देखा। मैं उस लिंक में जो पढ़ता था उसके साथ पकड़ा गया था और जब मैंने आपके जवाब पर ठोकर खाई, तो मैंने इसे स्किम किया, और इसे इंगित करने के लिए मजबूर महसूस किया। ;) – mcdado

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