2012-01-27 12 views
5

अभी मैं अपनी वेबसाइट पर 304 अनुरोधों को कम करने की कोशिश कर रहा हूं। मैं सुझाव यहाँ के लिए कहा जाता है को लागू किया है:304 अनुरोधों को कम करने में समस्या

Asking browsers to cache as aggressively as possible

हालांकि कोई बात नहीं मैं कुछ छवियों को कैश भले ही वे अन्य जो कि खींच रहे हैं के समान हैं से खींचा जा करने के लिए मना क्या करते हैं। अभी हम नेटवर्क यातायात देखने के लिए आईआईएस 7.5 और क्रोम का उपयोग कर रहे हैं।

यहाँ छवि के लिए प्रारंभिक प्रतिक्रिया का एक उदाहरण है, btn-blue.png, कि कैश से खींच लेंगे:

Accept-Ranges:bytes 
Content-Length:49585 
Content-Type:image/png 
Date:Fri, 27 Jan 2012 16:02:26 GMT 
ETag:"26cb96cdccc1:0" 
Expires:Sat, 31 Dec 2012 00:00:00 GMT 
Last-Modified:Thu, 26 Jan 2012 20:49:46 GMT 
Server:Microsoft-IIS/7.5 
X-Powered-By:ASP.NET 

यहाँ छवि, topnav- के लिए प्रतिक्रिया हेडर का एक उदाहरण है नीली poweredbyipipeline.png, कि कैश से खींच लेंगे कभी नहीं:

Accept-Ranges:bytes 
Content-Length:2680 
Content-Type:image/png 
Date:Fri, 27 Jan 2012 16:02:17 GMT 
ETag:"b85767a6cdccc1:0" 
Expires:Sat, 31 Dec 2012 00:00:00 GMT 
Last-Modified:Thu, 26 Jan 2012 20:49:47 GMT 
Server:Microsoft-IIS/7.5 
X-Powered-By:ASP.NET 

किसी भी विचार क्यों एक खींच होगा और दूसरा नहीं होगा?

+0

क्या आपका मतलब 304 प्रतिक्रियाओं को "अधिकतम" करना था? आपको प्रतिक्रियाओं में कैशिंग से संबंधित शीर्षकों को जोड़ने की आवश्यकता है (उनमें से कुछ हैं, अलग-अलग ब्राउज़रों द्वारा अलग-अलग व्यवहार किए जाते हैं), फिर ईटाग और एक्सपियर भी प्रासंगिक हैं। –

+0

वास्तव में मैं इसे बनाने के लिए देख रहा हूं ताकि ब्राउज़र को सर्वर को कॉल करने की आवश्यकता न हो। बस इसे कैश से खींचें। अभी इसे 304 संदेश वापस मिल रहा है लेकिन मैं उम्मीद कर रहा था कि उसे पहले स्थान पर कॉल नहीं करना पड़ेगा। –

+0

ब्राउज़र को उस सामग्री को डाउनलोड करना है जो कम से कम एक बार किसी विशेष यूआरएल पर रहता है। सर्वर पर यह कैश करने के लिए "पूछने" के लिए सर्वर पर निर्भर करता है (जबकि "कैसे" और "कितनी देर तक" निर्दिष्ट करता है), और यह उस पर निर्भर करने के लिए ब्राउज़र पर निर्भर करता है। सर्वर इन निर्देशों को प्रतिक्रिया-शीर्षलेखों के माध्यम से प्रदान करता है (एक अलग शोध; मैं आपको पॉइंटर्स दे रहा हूं), और मुझे पूरा यकीन है कि सभी लोकप्रिय ब्राउज़र आपको बिना झूठ बोलने वाले निर्देशों का सम्मान करेंगे। –

उत्तर

5

तो हमने यह पता लगाया कि यह क्यों हो रहा था। यह पता चला है कि यदि आप किसी वेब पेज पर नेविगेट करने के लिए एंटर बटन का उपयोग करते हैं तो क्रोम आक्रामक रूप से अपने कैश का उपयोग करेगा। यदि आप रीफ्रेश बटन का उपयोग करते हैं तो क्रोम लगभग हर तत्व के लिए कॉल आउट करेगा।

0

आपके द्वारा लिंक की गई अन्य पोस्ट में सब कुछ कैश-कंट्रोल है: अधिकतम आयु = हेडर। क्या आपने कोशिश की है? मुझे नहीं लगता कि समय सीमा समाप्त हो गई है और मुझे लगता है कि आपको कैश-कंट्रोल की भी आवश्यकता है, लेकिन मैंने वास्तव में इसका परीक्षण नहीं किया है।

+0

असल में हाँ मैंने कैश-कंट्रोल का उपयोग करने की कोशिश की है लेकिन मुझे एक ही परिणाम मिलते हैं। मुझे नहीं लगता कि मैं आईआईएस दोनों का उपयोग करने के लिए प्राप्त कर सकता हूं लेकिन यदि आप एक तरह से जानते हैं तो मुझे कोशिश करना अच्छा लगेगा! –

संबंधित मुद्दे