यदि मैं जावास्क्रिप्ट या सीएसएस फ़ाइल के last_modified_time का उपयोग करने का निर्णय लेता हूं, और फ़ाइल के संशोधित होने पर कैश को बस्ट करने के लिए नाम में एक कुंजी के रूप में यूनिक्स टाइमस्टैम्प का उपयोग करें। निम्नलिखित दो प्रथाओं के बीच क्या अंतर है? फ़ाइल नाम है: my_script.js और टाइमस्टैम्प है: <script type="text/javascript" src="http://example.com/js/my_script.js?v=1321951817"></script>
इसलिए, क्वेरी स्ट्रिंग पैरामीटर एक नया कैश हर v
बदल गया है बनाता है: के रूप में 1321951817कैशिंग से बचने के लिए जावास्क्रिप्ट संस्करण, इन प्रथाओं में अंतर?
1/फ़ाइल शामिल हो जाता है।
2/फ़ाइल के रूप में शामिल हो जाता है: एक और विधि के नीचे उत्तरों के आधार पर: <script type="text/javascript" src="http://example.com/js/my_script.1321951817.js"></script>
हर संशोधन के साथ फ़ाइल नाम परिवर्तन, रीराइट नियम टाइमस्टैम्प और अंक अनुरोध किया गया URL my_script.js
3/अद्यतन करने के लिए निकालता है: फ़ाइल का नाम बदला गया है और इसमें शामिल किया गया है: <script type="text/javascript" src="http://example.com/js/my_script.1321951817.js"></script>
फ़ाइल नाम बदल दिया गया है और कोई भी रिवाइट नियम उपयोग नहीं किया जाता है।
प्रश्न: क्या ये दो तकनीक स्वाभाविक रूप से समान हैं, या प्रत्यक्ष फ़ाइल नाम की बजाय क्वेरी स्ट्रिंग पैरामीटर का उपयोग करने के कोई फायदे/नुकसान हैं।
आप फ़ाइल नामों के बजाय पथ नामों के साथ विधि 2 का भी उपयोग कर सकते हैं: 'http: // example.com/v-1321951817/js/my_script.js'। – user123444555621