2011-07-13 18 views
5

पर यूआरएल फिंगरप्रिंट कैशिंग, मेरे पास अमेज़ॅन एस 3 पर एक बाल्टी है जहां मैं कभी-कभी फ़ाइलों को बदलता हूं लेकिन मैं उन पर अधिकतम कैशिंग का उपयोग करना चाहता हूं, इसलिए मैं कैश को अमान्य करने के लिए यूआरएल फिंगरप्रिंटिंग का उपयोग करना चाहता हूं।अमेज़ॅन एस 3

मैं फिंगरप्रिंट के लिए फ़ाइलों की "अंतिम संशोधित" तिथि का उपयोग करता हूं, और S3 फ़ाइलों का अनुरोध करने वाला HTML पृष्ठ हमेशा प्रत्येक फ़ाइल के फिंगरप्रिंट को जानता है।

अब, मुझे लगता है कि मैं बहुत तरह क्वेरी स्ट्रिंग में फिंगरप्रिंट इस्तेमाल कर सकते हैं,:

http://aws.amazon.com/bucket/myFile.jpg?v=1310476099061 

लेकिन क्वेरी स्ट्रिंग हमेशा कुछ प्रॉक्सी या पुराने ब्राउज़र के लिए पर्याप्त कैश रद्द करने के लिए नहीं है, और कुछ प्रॉक्सी और ब्राउज़र इसे क्वेरी कैरिंग में भी कैश नहीं करते हैं। यही कारण है कि मैं वास्तविक URL में फिंगरप्रिंट रखने के लिए, इनमें से किसी एक की तरह चाहते हैं:

http://aws.amazon.com/bucket/myFile-1310476099061.jpg 
http://aws.amazon.com/bucket/1310476099061/myFile.jpg 
http://aws.amazon.com/bucket/myFile.jpg/1310476099061 
etc 

इनमें से किसी URL किसी भी myFile.jpg अनुरोध करने के लिए आदर्श होगा, लेकिन मैं यह सब http://aws.amazon.com/bucket/myFile.jpg को पुनः मानचित्रित होना चाहते हैं फ़ाइल। यही है, मैं केवल यूआरएल को बदलना चाहता हूं ताकि ब्राउजर सोच सके कि यह एक नई फाइल है और एक नई फाइल प्राप्त करें जो इसे एक साल तक कैश करेगी। जब मैं उस फ़ाइल का एक नया संस्करण अपलोड करता हूं, तो फिंगरप्रिंट स्वचालित रूप से अपडेट हो जाता है।

अब मेरा प्रश्न है: क्या यूआरएल को फिर से लिखने का कोई तरीका है ताकि http://aws.amazon.com/bucket/myFile-xxxxxx.jpg जैसे यूआरएल के लिए अनुरोध अमेज़ॅन एस 3 पर http://aws.amazon.com/bucket/myFile.jpg फ़ाइल की सेवा करेगा? या क्या कोई अन्य कामकाज है जो अभी भी फाइल कैश रखेगा? धन्यवाद =)

उत्तर

2

मुझे डर है कि आप क्वेरीस्ट्रिंग में संस्करण के साथ फंस गए हैं। वास्तव में फ़ाइल नाम बदलने के बिना एस 3 पर यूआरएल को फिर से लिखने का कोई तरीका नहीं है।

+0

यह बहुत बुरा है। हालांकि, मुझे लगता है कि मैं फ़ाइल नाम में फिंगरप्रिंट के साथ फ़ाइल अपलोड करूँगा और एक स्क्रिप्ट के माध्यम से पुराना हटा दूंगा, जिसका एक ही प्रभाव होना चाहिए। धन्यवाद। – Flassari