मैं स्थिर फ़ाइलों की सेवा करने के लिए लाइटटैप का उपयोग कर रहा हूं। मेरे पास एक चित्र है जिसमें मैं नियमित रूप से अपडेट करता हूं। यह फ़ाइल सामग्री (और फ़ाइलों को बदल देगा) के साथ-साथ संशोधन तिथि को भी बदल देगा, लेकिन उनका फ़ाइल नाम नहीं।
जब मैं फ़ाइलों को http के माध्यम से एक्सेस करता हूं, तो अपडेट को ध्यान में नहीं रखा जाता है और हल्की पुरानी फाइल को परोसता है। मैं मैन्युअल रूप से फ़ाइल को कुछ अलग करने के लिए नाम बदल सकता हूं, फिर लाइटटीडी 404 त्रुटि लौटाएगा, और अगर मैं अपनी फ़ाइल का नाम वापस लेता हूं, तो मुझे सही अपडेटेड संस्करण मिलेगा। लगता है जैसे कि हल्की स्टैटिक फ़ाइलों को वापस करने के लिए अपने स्वयं के कैश सिस्टम का उपयोग कर रहा है (जो ठीक है)। दुर्भाग्य से, ऐसा लगता है कि फ़ाइलों को संशोधित करने पर यह तंत्र खुद को अपडेट नहीं करता है।
मैंने Wireshark के माध्यम से जांच की, और मेरा ब्राउज़र वास्तव में फ़ाइल के लिए अनुरोध कर रहा है, यह ब्राउज़र कैशिंग मुद्दा नहीं है। खाली कैश से अनुरोध करने पर यह 200 ओके देता है, और उम्मीद के मुताबिक 304 नॉट मॉडिफाइड अन्यथा। लेकिन फ़ाइल एक गलत अंतिम-संशोधित हेडर के साथ वापस आ जाती है जो वास्तविक अंतिम संशोधन तिथि को प्रतिबिंबित नहीं करती है।
हो सकता है कि कुछ कॉन्फिग डायरेक्टिव हो जिससे मैं वाकिफ नहीं हूं?
मैं चाहूंगा कि डिस्क द्वारा किए गए परिवर्तनों को सीधे हल करने के लिए, या कम से कम इसकी कैश को अमान्य करने में सक्षम होने के लिए हलकी-फुलकी फाइलें वापस आए।
इस प्रश्न के बाद किसी के लिए अपडेट करें: मुझे एक अपराधी मिला। यदि मैं एक स्थिर फ़ाइल को अपडेट करता हूं, तो लाइटी नई सामग्री को वापस नहीं करता है, लेकिन इसके हेडर में नई सामग्री-लंबाई वापस करता है, जिसके परिणामस्वरूप कचरा प्रदर्शित होता है। यदि मैं mod_compress का उपयोग करके फ़ाइल को संपीड़ित करता हूं, तो समस्या दूर हो जाती है क्योंकि mod_compress अपने स्वयं के कैशिंग सिस्टम का उपयोग करता है। दुर्भाग्य से, मैं सभी फ़ाइलों (उदाहरण के लिए छवि फ़ाइलों) को संपीड़ित नहीं कर सकता। तो यह केवल एक आंशिक सुधार है, लेकिन मैं इसे बाद में वापस करूंगा और एक समाधान खोजूंगा।