2013-02-11 15 views
5

मैं Google ऐप इंजन पर पृष्ठ सेवा समय अनुकूलित करने का प्रयास कर रहा हूं, लेकिन मैं जिस प्रभाव को चाहता हूं उसे प्राप्त करने में मैं संघर्ष कर रहा हूं।Google ऐप इंजन में कैश-कंट्रोल

मेरी app.yaml में

, मैं निम्नलिखित निर्देश प्रयोग किया है: संपत्ति फ़ोल्डर के अंतर्गत

handlers: 
- url: /assets 
    static_dir: assets 
    expiration: 7d 

, मैं सभी अपनी छवियों, CSS और JS है। 7 डी की समाप्ति का उपयोग करके, मैं ब्राउज़र से स्थानीय कैश की गई फ़ाइलों का उपयोग करने की उम्मीद करता और मेरे ऐप पर 7 दिनों तक नहीं आती।

हालांकि, मेरी संपत्ति के लिए प्रतिक्रिया हेडर में मैं निम्नलिखित मिल:

Cache-Control:public, max-age=604800 
Cache-Control:no-cache, must-revalidate 

मैं समझता हूँ कि इन हेडर के साथ, ब्राउज़र अगर के रूप में कैश किए गए संस्करण को छोड़ने से पहले बदल फ़ाइल मेरे ऐप्स पर जाँच करेगा। (मैं रीफ्रेश और सरल पेज लोड दोनों के लिए, संपत्ति फ़ोल्डर के तहत अपनी फ़ाइलों के अनुरूप 304 का प्रभावी रूप से देख सकता हूं)।

क्या कैश व्यवहार को कॉन्फ़िगर करने के लिए Google ऐप इंजन में कोई तरीका है ताकि ब्राउज़र उन फ़ाइलों के लिए 7 डी (साधारण पृष्ठ लोड पर) के लिए वापस नहीं आएगा, जैसा कि समाप्ति में निर्दिष्ट है? (यानी कैश-कंट्रोल हेडर से "नो-कैश" को हटा रहा है)

पीएस मैं अपने ऐप पर पेजस्पेड को सक्षम नहीं करना चाहता हूं। मैं एचटीएमएल पर पूरा नियंत्रण चाहता हूँ।

+0

मुझे पेजस्पेड कैश को AJAX अनुरोधों से निजी जानकारी मिल रही है! मैं कैश नियंत्रण सेट करने की कोशिश कर रहा हूं: नो-स्टोर लेकिन मुझे अभी भी कैश नियंत्रण मिलता है: निजी – ZiglioUK

उत्तर

0

मैं समाप्ति के निर्देश का उपयोग नहीं किया और GAE भेजता है तो डिफ़ॉल्ट संचय सेटिंग के रूप में निम्नलिखित:

कैश-नियंत्रण: सार्वजनिक, अधिकतम उम्र = 600

आप समाप्ति को दूर करने की कोशिश कर सकते: 7 दिन और देखें कि क्या GAE केवल 1 कैश-कंट्रोल हेडर भेजता है?

2

क्या आप किसी भी अवसर से व्यवस्थापक-खाते से लॉग इन हैं? AppEngine प्रशासन के लिए कुछ private headers about the costs जोड़ता है और कैशिंग अक्षम करता है क्योंकि वह डेटा निजी है। लॉगिंग ने मेरे लिए समस्या हल की।

0

कैसे आप ब्राउज़र में अपने पृष्ठ लोड यहां प्रासंगिक हो सकता है:

  • आप Ctrl दबाएं और ताज़ा करें बटन का उपयोग कर पृष्ठ पुनः लोड है, तो है कि अपने संसाधनों का एक बिना शर्त पुनः लोड के कारण होगा 200s के साथ लौट आए।
  • यदि आप रीफ्रेश बटन (या F5 जैसे समकक्ष कुंजी) का उपयोग करके पुनः लोड करते हैं, तो सशर्त अनुरोध भेजे जाएंगे और स्थिर संसाधनों के लिए 304 वापस लौटाए जाएंगे।
  • यदि आप पता बॉक्स में एंटर दबाते हैं, तो पृष्ठ को अपने बुकमार्क में जोड़ें और वहां से लोड करें, या हाइपरलिंक से पृष्ठ पर जाएं, कैश अधिकतम आयु को अपेक्षा के अनुसार काम करना चाहिए।
+0

उन लोगों को सर्वर को 'नो-कैश, जरूरी-पुनरीक्षित' भेजने की संभावना नहीं है। – poolie