जहाँ तक मुझे पता है, सभी सीडीएन इस तरह काम करते हैं।
यह कारण है कि आप आम तौर पर एक CDN संस्करण परिसंपत्तियों को foo-x.y.z.ext
की तरह कुछ का उपयोग है। मैं foo.ext?x.y.z
का उपयोग नहीं करता क्योंकि कुछ ब्राउज़रों और प्रॉक्सी के बारे में कुछ ऐसा नहीं था जो ?QUERY_STRING
के साथ संपत्तियों को कैश नहीं करता था।
सामान्य तौर पर आपको यह देखना चाहेंगे: https://developers.google.com/speed/docs/best-practices/caching
यह सर्वोत्तम प्रथाओं के बहुत सारे शामिल है और विवरण क्या करना है और कैसे यह काम करता है में चला जाता है।
S3 और CloudFront के संबंध में, मैं कैश अमान्यकरण साथ सुपर परिचित नहीं हूँ, लेकिन क्या फ्रेडरिक चेउंग उल्लिखित सभी सही है।
कुछ प्रदाता आपको सीधे कैश साफ़ करने की अनुमति देते हैं लेकिन सीडीएन की प्रकृति के कारण ये परिवर्तन लगभग कभी नहीं होते हैं। एक और तरीका एक छोटा टीटीएल (समाप्ति शीर्षलेख) सेट करना है ताकि परिसंपत्तियों को अधिक बार ताज़ा किया जा सके। लेकिन मुझे लगता है कि सीडीएन के उद्देश्य को भी हरा देता है।
हमारे मामले (Edgecast) में, कैश अमान्यकरण संभव (एक मैनुअल प्रक्रिया) और नि: शुल्क है, लेकिन हम शायद ही कभी क्योंकि हम संस्करण हमारी संपत्ति के हिसाब से यह करते हैं।
मुझे इस मामले में एक भयानक भावना थी। ऐसा लगता है कि वे एक फीचर चूक गए। क्या आप इसके लिए एक संदर्भ प्रदान कर सकते हैं या यह अभी निर्दिष्ट नहीं है? धन्यवाद। – Joe
यह एक दोषपूर्ण धारणा होगी कि S3 के लिए एक नया संस्करण अपलोड करने का अर्थ है कि आप क्लाउडफ्रंट में कैश साफ़ करना चाहते हैं। हां, यह वह व्यवहार हो सकता है जिसे आप ढूंढ रहे हैं, लेकिन यह एडब्ल्यूएस से _assume_ के लिए अजीब होगा कि यह वही है जो आप चाहते हैं। कई मामलों में, मैं क्लाउडफ्रंट में सामग्री को कैश करूँगा यह जानकर कि यह मेरी सेटिंग्स के अनुसार समाप्त हो जाएगा, और समय से पहले S3 में अद्यतन सामग्री को चरणबद्ध करेगा। मेरे मामले में, और स्वचालित अमान्यता जो मैं चाहता हूं उसके विपरीत है। –
मानते नहीं, लेकिन ऐसा लगता है कि यह एक उपयोगी पैरामीटर है। – Joe