yslow का कहना है कि etags गलत हैं। IIS7 पर etags को ठीक से कैसे कॉन्फ़िगर करें?


20

एक वेबसाइट पर ySlow चलाने का मैं समर्थन करता हूं, मैंने देखा कि यह बताया गया है कि etags साइट के लिए गलत हैं (जैसे * .jpg, * .png, * .gif)। किसी को भी समझाने में मदद कर सकते हैं कि मुझे क्या करना है IIS7 इन etags को सही ढंग से जारी करने के लिए?

जवाबों:


7

Farseeker द्वारा स्वीकृत उत्तर काम नहीं करता है। मैंने इसे Windows Server 2008 मानक SP 2 पर IIS 7.0.6000.16386 में परीक्षण किया है।

इसी सवाल के लिए स्टैक ओवरफ्लो पर जेफ एटवुड की टिप्पणी देखें ।


यह उत्तर अब सही / प्रासंगिक नहीं है। आप मेरे उत्तर में एक आउटबाउंड नियम जोड़कर iis 7+ में ETags बदल सकते हैं जैसा कि मेरे उत्तर में देखा गया है serverfault.com/a/528346/78230
एंड्रयूपीके

12

जब तक आप एक से अधिक सर्वर से सामग्री की सेवा नहीं करते, Etags ठीक हैं। यदि आप केवल एक सर्वर से सेवा करते हैं, तो उन्हें वहां छोड़ दें। वे चोट नहीं करते। और यदि आप नहीं चाहते कि YSlow उनके बारे में शिकायत करे, तो नियम चयन करें तत्व के पास संपादित करें बटन पर क्लिक करें और YSlow (V2) प्रोफ़ाइल संपादित करें। बस "इकाई टैग कॉन्फ़िगर करें (Etags)" विकल्प को अनचेक करें।


7
+1 YSlow बहुत सारी चीजों के बारे में शिकायत करता है जो "मात्र नश्वर" वेब साइटों को प्रभावित नहीं करते हैं। (नहीं YSlow, मेरे पास नहीं है और सीडीएन की आवश्यकता नहीं है। कृपया पहले से ही छोड़ दें।)
गेराल्ड कॉम्ब्स

नियम सेट परिवर्तन के बारे में सही है।
माइक जे

11

YSlow शिकायत नहीं कर रहा है कि वे गलत हैं (भले ही वह यह कहता है), लेकिन यह शिकायत कर रहा है कि उन्हें ज़रूरत नहीं है। इसके बारे में चुप रहने के लिए YSlow प्राप्त करने का एकमात्र तरीका उन्हें अक्षम करना है।

अच्छी बात यह है कि, मैंने आज ही पहले ऐसा किया था!

अपना IIS प्रबंधक खोलें, सर्वर पर क्लिक करें, और HTTP प्रतिसाद हेडर्स पर जाएं। "जोड़ें ..." बटन पर क्लिक करें, और नाम के तहत, दर्ज करें:

ETag

(अक्षर संवेदनशील)। मान के तहत, दर्ज करें

""

(दो दोहरे उद्धरण)

और ETags भिखारी!


जैसा कि अन्य लोग बताते हैं, आपको केवल ईटैग को हटा देना चाहिए यदि आप जानते हैं कि आपको आवश्यकता है; कई मामलों में, यह मामला नहीं होगा।
बॉबी जैक

1
यह मामला हो सकता है, लेकिन मामले का तथ्य यह है कि जवाब सही ढंग से सवाल का जवाब देता है।
मार्क हेंडरसन

1
प्रश्न पूछा गया कि 'मैं इन etags को सही ढंग से जारी करने के लिए IIS7 कैसे प्राप्त करूं?' आपका जवाब पूरी तरह से ETags जारी करना बंद करना था, जो कि एक संभावित प्रदर्शन हिट है, और संभावना अनावश्यक है (सवाल में CDN- उपयोग का कोई उल्लेख नहीं था)।
बॉबी जैक

2
@ लॉबी: ओपी स्पष्ट रूप से पूछ रहा है कि "मैं कैसे इन एग्स को सही तरीके से जारी करने के लिए IIS7 प्राप्त करता हूं जैसा कि YSlow द्वारा परिभाषित किया गया है ?"। और केवल "सही" कॉन्फ़िगरेशन, जहां तक ​​YSlow का संबंध है, उन्हें अक्षम करना है।
किप

1
@ किप, नहीं, निहित भाग निहित है, और आप इसका अनुमान नहीं लगा सकते। लेकिन यह मानते हुए कि ओपी एक उचित व्यक्ति है, वह शायद यह कहना चाहता था "वाईएसएलओ के अनुसार कॉन्फ़िगरेशन उप-अपनाने वाला लगता है, मैं इसे कैसे इष्टतम बना सकता हूं?" - और फिर यह जवाब थोड़ा मजेदार है। यह "मेरी इकाई परीक्षण की शिकायत क्यों करता है?" - "बस यूनिट टेस्ट को हटा दें, और यह अब शिकायत नहीं करेगा!"
चिकोडोरो


3

Iis 6 में, आप 'ETag' = "" के लिए एक कस्टम हेडर जोड़ सकते हैं

Iis 7 में, एक आउटबाउंड फिर से लिखना नियम इस प्रकार है:

<outboundRules>
  <rule name="Remove ETag">
    <match serverVariable="RESPONSE_ETag" pattern=".+" />
    <action type="Rewrite" value="" />
  </rule>
</outboundRules>

IIS 7 कस्टम हेडर और अन्य सभी समाधानों को एक ही समस्या के संबंध में विभिन्न अन्य उत्तरों में प्रस्तावित करेगा। आउटबाउंड नियम एकमात्र आइटम है जो काम करने लगता है क्योंकि यह उपयोगकर्ता द्वारा वापस लौटने से ठीक पहले सेट की गई किसी भी चीज़ को अधिलेखित कर देता है। यह प्रस्तावित आउटबाउंड नियम किसी भी सर्वर वैरिएबल से मेल खाता है RESPONSE_ETagजब तक कि RESPONSE_ETagएक या अधिक वर्णों का मान है और रिक्त स्ट्रिंग होने के लिए मान को फिर से लिखता है।



1

इसका बेहतर उपयोग करें:

<outboundRules>
  <rule name="Remove ETag">
    <match serverVariable="RESPONSE_ETag" pattern="(.*)\:(.*)" />
    <action type="Rewrite" value="{R:1}" />
  </rule>
</outboundRules>

3
सर्वर दोष में आपका स्वागत है! जबकि मैजिक बाइट्स निश्चित रूप से अच्छे हैं, यह पढ़ने वाले अन्य लोगों के लिए बहुत बढ़िया है यदि आप बताते हैं कि यह सही क्यों है।
फाल्कन मोमेंट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.