कब इस्तेमाल करना है और कैसे नहीं ईटैग का इस्तेमाल करना है


9

मैं अभी हमारी साइट WebPageTest.org पर देख रहा था और वेबसाइट को गति देने के लिए उनकी सिफारिशों में से एक है:

जब तक आपके पास उनकी आवश्यकता का स्पष्ट कारण न हो, तब तक ईटैग हेडर का आमतौर पर उपयोग नहीं किया जाना चाहिए

मैं सोच रहा था कि इसका क्या मतलब है। ऐसा लगता है कि स्थिर सामग्री को आप जानते बदलते नहीं किया जाएगा उन्हें नहीं करना चाहिए था मतलब यह है, या यह मतलब सामग्री तुम्हें पता है नियमित रूप से बदलने वाला है उन्हें नहीं करना चाहिए था करता है, या इसका मतलब यह है कि आप उन्हें प्रयोग नहीं करना चाहिए आम तौर पर जब तक आप एक है विशिष्ट आवश्यकता

यदि यह बाद का है, तो उनका उपयोग करने का सही समय कब है? किसी भी मदद के लिए धन्यवाद।

जवाबों:


8

ETags कैश सत्यापन को निर्धारित करने के लिए "अंतिम-संशोधित-समय" के साथ (लेकिन संयोजन में उपयोग किया जा सकता है) एक विकल्प है।

ग्राहक पूर्व शर्त जैसे अगर-मैच या अगर-कोई नहीं तो ईटैग के आधार पर भेज सकता है। यह केवल GET अनुरोधों के लिए नहीं है (जो कि webpagetest.org करता है) आप "अवसरवादी अद्यतन" का उपयोग कर सकते हैं, ताकि PUT अनुरोध में पूर्व शर्त हो और यदि ईटाग के बाद से संसाधन अद्यतन नहीं किया गया है, तो यह अद्यतन कार्रवाई नहीं करेगा। अंतिम अधिग्रहण

सीधे शब्दों में कहें: आप अपने सीएमएस में एक पृष्ठ पर संपादित हिट मारा, अपने दोस्त को अपने सीएमएस में एक पृष्ठ पर संपादित हिट, अपने दोस्त को संपादित संपादित करता है और बचाने के हिट और अंत में आप को बचाने हिट - एक ETag या सामग्री- MD5 HTTP हेडर के बिना आप की आवश्यकता होगी समस्या को रोकने के लिए पहिया को सुदृढ़ करने के लिए (जैसे कि आप अपने दोस्तों के बदलावों को मिटा रहे हैं) समाधान पहले से ही HTTP प्रोटोकॉल का हिस्सा है और इसलिए यह सिर्फ इसका उपयोग करने के लिए समझ में आता है।

आम तौर पर मैं AOL (जो webpagetest.org चलाते हैं) से सहमत हैं, उनके "एक आकार सभी सलाह" पर फिट बैठता है - क्रिप्टिक स्ट्रिंग्स के साथ HTTP हेडर को रोकना बेहतर नहीं है (अंतर आमतौर पर सुंदर या मानव पठनीय नहीं होते हैं) जब एक दूसरे का अंतर ( जो अंतिम-संशोधित-समय का पता लगा सकता है) हाथ में काम के लिए करेगा।

यदि किसी पृष्ठ को एक सेकंड में कई बार अपडेट किया जा रहा है और आपको प्रदर्शित करने के लिए नवीनतम सबसे सटीक संस्करण की आवश्यकता है, तो आप HTTP जीईटी के अलावा अन्य समाधानों के साथ प्रयोग कर सकते हैं या केवल ETags का उपयोग कर सकते हैं।

सावधान रहें कि आपके ETags में प्रति फ़ाइल सिस्टम, प्रति सर्वर कॉन्फ़िगरेशन परिवर्तन, आदि जानकारी शामिल नहीं है (जैसे कि अपाचे पर डिफ़ॉल्ट इनकोड) अन्यथा आपको दो सर्वर होने पर समस्याएँ होंगी (हर एक से ETags मेल नहीं खाएँगे)।


ठीक है। एक उदाहरण है कि मुझे यकीन नहीं है: यदि आपके पास एक URI (जैसे मोबाइल या इंटरनेट एक्सप्लोरर संस्करण) पर सभी में सामग्री के कई संस्करण हैं, तो ETags का उपयोग मैच के लिए हर संस्करण के माध्यम से खोज करने के लिए किया जा सकता है (इसलिए इसे कहा जाता है- कोई नहीं-मैच नहीं तो नहीं-मैच) - आप जो पूछते हैं उसके आधार पर अलग-अलग उत्तर हैं (जैसे कि कई अभ्यावेदन के लिए एक स्थायी यूआरआई नहीं है, आदि)।
मेटलहार्क

7

YSlow Firebug प्लगइन के हॉरर के उत्कृष्ट मूल्यांकन को पार्स करने के लिए (जो यह प्रकट होता है WebPageTest.org उनके मूल्यांकन के लिए एक आधार के रूप में उपयोग कर रहा है):

"याहू दुनिया की सबसे व्यस्त वेबसाइटों में से एक है - इसकी समस्याएं शायद आपकी समस्याएं नहीं हैं ।"

यदि आप प्रतिदिन अपने लोड-संतुलित नेटवर्क में लाखों uniques में काम नहीं कर रहे हैं, तो एक अच्छा मौका है कि प्रदान किए गए सुझाव आपकी साइट का अनुकूलन करते समय सभी सही विकल्प नहीं हैं ।


मैं टिप्पणी की सराहना करता हूं, लेकिन आप गलत हैं। स्टीव साउंडर्स यहां बताते हैं: stevesouders.com/blog/2010/09/07/webpagetest-org-and-page-speed (वह उपयोगी सुधारों का एक बड़ा प्रस्तावक है - यानी केवल सुधार जो Google के लिए काम करेंगे।) हमारी साइट। निश्चित रूप से इस तरह के सुधार (और पहले से ही) से गति में वृद्धि महसूस करने के लिए पर्याप्त है।
Django रेनहार्ड्ट

2
Yslow फ़ायरबग एक्सटेंशन में अब छोटी साइटों के लिए एक परीक्षण शामिल है जो अधिकांश साइटों के लिए बहुत अधिक यथार्थवादी है।
जॉन कोंडे

1
@ डिंगो रेनहार्ड्ट - मैंने अपना जवाब फिर से दे दिया, यह सच है कि कई सुझाव किसी भी साइट के लिए मान्य हैं, लेकिन विशेष रूप से ETags विवादास्पद है क्योंकि, वाई के मामले में, सुविधा लोड-संतुलन के साथ संघर्ष करती है
danlefree

आपके द्वारा प्रदान किया गया लिंक, Yahoo के ETags ( डेवलपर .yahoo.com/performance/rules.html#etags ) के विवरण पर एक लिंक था, जो मेरे सवालों का अच्छी तरह से उत्तर देता है। (हां, शायद हमारे लिए ईटैग की सेवा नहीं करना बेहतर होगा।) धन्यवाद
Django रेइनहार्ट

1
@Django: यदि आपके पास कई सर्वर हैं तो ETags एक समस्या हो सकती है। हालाँकि, जब तक एक ही फाइल हमेशा एक ही ETag देता है तब तक यह पूरी तरह से ठीक है। इन्हें भी देखें: webmasters.stackexchange.com/questions/1459/…
DisgruntledGoat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.