2011-05-24 12 views
5

से मिलती है मैं वर्तमान में Azure Blob संग्रहण के भीतर फ़ाइलों को संग्रहीत कर रहा हूं और जब मैं फ़ाइलों का अनुरोध करता हूं तो मुझे 304 के फायरबग में एक संदेश मिलता है "HTTP सशर्त हेडर का उपयोग करके निर्दिष्ट शर्त (ओं) को पूरा नहीं किया गया है "304: HTTP सशर्त हेडर का उपयोग करके निर्दिष्ट शर्त

मैंने Azure Blob: "The condition specified using HTTP conditional header(s) is not met" पर देखा है और यह एक समान प्रश्न है लेकिन मैं blob.openread आदि का उपयोग करने में सामग्री नहीं पढ़ रहा हूं ... मैं बस सामग्री को देखने की कोशिश कर रहा हूं ब्राउज़र।

अगर मैं फ़ायरफ़ॉक्स में नियंत्रण रीफ्रेश (ctrl और f5) करता हूं तो मुझे 200 की प्रतिक्रिया मिलती है - इसलिए इसे सही तरीके से प्रस्तुत किया जाता है। मैंने जिस फ़ाइल को वापस कर रहा हूं उस पर मैंने कैश नियंत्रण (अधिकतम आयु = 3600, सार्वजनिक) सेट किया है लेकिन फिर भी मुझे यह त्रुटि/अधिसूचना मिलती है।

मेरा सवाल है, क्या मुझे चिंता होनी चाहिए कि जब मैं इस प्रतिक्रिया के साथ वापस आने वाली सामग्री का अनुरोध करता हूं?

किसी भी सलाह/विचारों आपके पास हो जाएगा बहुत प्राप्त

धन्यवाद स्टीव

उत्तर

8

हैं ब्लॉब संग्रहण में सामग्री के बाद से आपके ब्राउज़र अंतिम अभिगमन सामग्री तो यह सही व्यवहार है नहीं बदला है।

HTTP स्थिति कोड 304 को "संशोधित नहीं किया गया" के रूप में परिभाषित किया गया है (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html देखें)। मैं जो अनुमान लगाता हूं वह यह है कि आपके ब्राउज़र ने ईटीएजी को HTTP ई-नो-मैच हेडर में ब्लॉब स्टोरेज में सामग्री के साथ प्राप्त किया है, और क्योंकि यह ईटाग अभी भी स्टोरेज में सामग्री से जुड़े ईटीएजी से मेल खाता है, इसकी कोई आवश्यकता नहीं है तार के नीचे एक नया संस्करण भेजें।

यहां ईटैग पर अधिक: http://en.wikipedia.org/wiki/HTTP_ETag। आप फिडलर के माध्यम से इस व्यवहार को क्रिया में देख सकते हैं।

फ़ायरफ़ॉक्स Ctrl-F5 स्पष्ट रूप से ताज़ा करने के लिए मजबूर करता है, जिसका अर्थ यह है कि कोई भी नहीं-कोई-मिलान शीर्षलेख भेजा नहीं जाता है। ब्लॉब स्टोरेज इसलिए तार के नीचे छवि की ताजा प्रति भेजता है।

+0

सामग्री बदल नहीं रही है, इसलिए पृष्ठ को एक बार लोड होने के बाद यह केवल एक सीधी रीफ्रेश है, इसलिए ऐसा लगता है कि यह स्वयं व्यवहार कर रहा है। जेरेमी का जवाब देने के लिए धन्यवाद। – Steve

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