ऐसा लगता है कि सामान्य मामले क्या है, या डिफ़ॉल्ट रूप से प्रदर्शन पर शुद्धता को पसंद करते हुए, किसी भी तरह की चीज को आसानी से कर सकता है, जब भी संदेह होता है।
मुझे यह कैसे चला गया हो सकता है के बारे में एक कहानी बनाने के लिए अनुमति दें:
वे जल्दी तय करते हैं कि एक हैश/सामग्री पर चेकसम प्रदर्शन कारणों से एक बुरा विचार है। "कौन जानता है कि फ़ाइल कितनी बड़ी हो सकती है? हम उन सभी को फिर से समझ नहीं सकते ..." तो वे आकार और तारीख तय करते हैं कि आप बहुत करीब आते हैं।
"लेकिन प्रतीक्षा करें," व्यक्ति ए कहता है, "कुछ भी गारंटी नहीं देता है कि आपके पास फ़ाइल आकार टक्कर नहीं है। वास्तव में, फर्मवेयर बाइनरी जैसे मामले हैं, जब फ़ाइल का आकार हमेशा समान होता है, और यह पूरी तरह से होता है संभव है कि कई एक ही समय में एक देव मशीन से अपलोड किए जाते हैं, इसलिए ये विभिन्न सामग्रियों के बीच अंतर करने के लिए पर्याप्त नहीं हैं। "
व्यक्ति बी: "हम्म, अच्छा बिंदु। हमें कुछ ऐसी चीज चाहिए जो आंतरिक रूप से फ़ाइल की सामग्री से जुड़ी हो। कुछ ऐसा जो संशोधित समय के साथ मिलकर आपको निश्चित रूप से बता सकता है कि यह वही सामग्री है।"
व्यक्ति ए: "इनोड के बारे में क्या? अब, अगर वे फाइलों का नाम बदलते हैं (हो सकता है कि वे" एक अलग फ़ाइल में "अनुशंसित" की सिफारिश करें, उदाहरण के लिए), डिफ़ॉल्ट etag ठीक काम करेगा! "
व्यक्ति बी: "मुझे पता है, इनोड थोड़ा खतरनाक प्रतीत होता है।"
व्यक्ति ए: "ठीक है, बेहतर क्या होगा?"
व्यक्ति बी: "हाँ, अच्छा सवाल। मुझे लगता है कि मैं नहीं सोच सकता कि इसमें विशेष रूप से क्या गलत है, मुझे इसके बारे में एक सामान्य बुरी भावना है।"
व्यक्ति ए: "लेकिन कम से कम यह गारंटी देता है कि यदि यह बदल गया है तो आप एक नया डाउनलोड करेंगे। सबसे बुरा होता है कि आप जितनी बार चाहें उतनी बार डाउनलोड करते हैं, और कोई भी जो जानता है कि उन्हें चिंता करने की ज़रूरत नहीं है यह सिर्फ इसे बंद कर सकता है। "
व्यक्ति बी: "हाँ, यह समझ में आता है। यह ज्यादातर मामलों के लिए शायद ठीक है, और यह आसान विकल्पों से बेहतर लगता है।"
अस्वीकरण: मेरे पास कोई भी जानकारी नहीं है कि अपाचे कार्यान्वयनकर्ता क्या सोच रहे थे। यह सब सिर्फ हाथ से भरोसेमंद अनुमान है, और एक सराहनीय कहानी बनाने की कोशिश कर रहा है।लेकिन मैंने निश्चित रूप से देखा है कि इस तरह की चीज अक्सर पर्याप्त होती है।
आप कभी नहीं जानते कि यह क्या था जिसे आपने नहीं सोचा था (इस मामले में, उसी फाइल की सेवा करने वाले अनावश्यक भार-संतुलित सर्वर आकार + समय टकराव के बारे में चिंता करने से अधिक सामान्य थे)। लोड बैलेंसर अपाचे का हिस्सा नहीं है, जिससे इस तरह की निगरानी करना आसान हो जाता है।
प्लस, यहां विफलता मोड यह है कि आपने कैश का पूर्ण कुशल उपयोग नहीं किया है (नहीं कि आपको गलत डेटा मिला है), जो कष्टप्रद रूप से बेहतर है, हालांकि परेशान है। जो बताता है कि भले ही उन्होंने इसके बारे में सोचा हो, वे उचित रूप से लोड बैलेंसर स्थापित करने के लिए पर्याप्त रुचि के साथ किसी को भी मान सकते हैं कि उनके कॉन्फ़िगरेशन विवरणों को ट्यून करने के साथ भी ठीक रहेगा।
पीएस: यह मानकों के बारे में नहीं है। कुछ भी निर्दिष्ट नहीं करता है कि आपको एटैग की गणना कैसे करनी चाहिए, बस यह बताने के लिए पर्याप्त होना चाहिए कि उच्च संभावना के साथ सामग्री बदल गई है या नहीं।
अच्छा सवाल है, लेकिन शायद ServerFault.com – Avi
पर अंतर्गत आता है मैं इसे यहाँ अंतर्गत आता है लगता है - मुझे लगता है कि आप आप क्यों लगता है कि यह एक बुरा विचार है पर विस्तृत करना होगा यह एल्गोरिथ्म – Greg
के चुनाव के बारे में अधिक है। –