2011-01-25 9 views
6

के बजाय प्रतिक्रिया यह किसी भी तरह संभव एक 304 स्थिर फ़ाइलों के लिए संशोधित नहीं करने के बजाय एक 200 (कैश) प्रतिक्रिया के लिए मजबूर करने है? यदि ऐसा है तो आप संभावित रूप से बहुत सारे सर्वर अनुरोधों को सहेज सकते हैं और आगंतुकों को लौटने के लिए लोडटाइम को गति से बढ़ा सकते हैं।Nginx - "शक्ति" 200 कैश 304

उत्तर

1

सेट स्थानों आप सर्वर से अपने स्थिर फ़ाइलों में Nginx में expires निर्देश। जब तक समय समाप्त नहीं हो जाता है तब तक ब्राउज़र सर्वर से वापस जांचना परेशान नहीं करेगा। उस समय, सर्वर अभी भी एक 304 प्रतिक्रिया वापस भेज सकती है यदि स्थिर फ़ाइल नहीं बदला है और समाप्त हो रहा है समय से पहले ब्राउज़रों फिर से जाँच पहुँचा जा करना होगा।

वैसे, 200 प्रत्युत्तर कोड बस अनुरोध किया गया संसाधन लौटे किया जा रहा है इसका मतलब है। इसका कोई संबंध नहीं है कि किसी भी कैशिंग हेडर को HTTP प्रतिक्रिया के साथ भेजा गया हो या नहीं।

+0

मैं 2 सप्ताह के लिए सेट की समय सीमा समाप्त है, लेकिन गूगल क्रोम के डेवलपर उपकरण अभी भी 200 कोड के बजाय 304 अनुरोधों को दर्शाता है। क्या यह झूठी जानकारी दे रहा है? – ustun

4

मैंने पाया अकेले समाप्त हो रहा है ठीक से व्यवहार निर्धारित नहीं करता है। नीचे एक यकीन है कि आग की गई है:

# Set cache 
expires 1M; 
add_header Pragma public; 
add_header Cache-Control "public"; 

यह वांछित आपके स्थान ब्लॉक में जा रहा ..

मैं भी लगता है कि .. इस पर वहाँ बाहर भ्रामक जानकारी का एक बहुत कुछ 200 किसी भी तरह के रूप में ही है यही कारण है 200 (कैश)।

मेरी समझ से

:

200 - सर्वर अनुरोध - हस्तांतरण ठीक 200 (कैश) - ठीक है - (कैश से) कोई सर्वर अनुरोध 304 - सर्वर अनुरोध - कोई हस्तांतरण (नहीं संशोधित)

200 (कैश) जैसा कि मैं समझता हूं कि यह सर्वर अनुरोध नहीं करता है।

0

200 एक कैश प्रतिक्रिया नहीं है, यह सफलता को इंगित करता है और इसके परिणामस्वरूप प्रतिक्रिया की आवश्यकता होती है। 304 एक असम्बद्ध संसाधन इंगित करता है; यह कहना है कि आपके पास पहले से ही है, इसलिए कुछ भी वापस नहीं किया गया है। तो, आप जो सुझाव दे रहे हैं, उसे 304 के असफल होने के कारण 200 9 के असफल होने का कारण बनना चाहिए। भले ही यह नकली 200 प्रतिक्रियाओं के साथ किसी भी अनुरोध या गति को बचाने के लिए नहीं जा रहा है।

संपादित करें: 200 कुछ मामलों में इसका मतलब संसाधन सफलता के साथ कैश से लिया गया है ...

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