दिलचस्प पोस्ट
एकाधिक स्क्रीन के लिए डिज़ाइन लेआउट फ़ंक्शन संकेतक के रूप में कैप्चर के साथ सी ++ लैम्ब्डा जावास्क्रिप्ट ऑब्जेक्ट में एक कुंजी के रूप में मैं एक वैरिएबल को कैसे रूपांतरित कर सकता हूं? जावा लॉगिंग एपीआई का उपयोग करते समय मैं डिफ़ॉल्ट कंसोल हैंडलर को कैसे निष्क्रिय कर सकता हूं? बयान के बाद वैरिएबल घोषणाएं एआरएम से सी कॉलिंग कन्वेंशन, रजिस्टरों को बचाने के लिए एक आइफ्रेम लक्ष्यीकरण फ़ायरफ़ॉक्स फ़ायरफ़ॉक्स नए टैब खोल रहा है रूबी के पास पायथन क्या नहीं है, और इसके विपरीत? छवि में किसी विशेष रंग को कैसे बदलना है? सबसे सी बात करने के लिए सबसे प्रभावी एल्गोरिथ्म क्या है जो अधिकतर बिंदुओं के माध्यम से चलता है? बूटस्ट्रैप 3 + रेल 4 – कुछ गिलीफ़िकॉन काम नहीं कर रहे हैं जीआईटी फिल्टर-शाखा और रिबेस के बाद टैग को स्वचालित रूप से स्थानांतरित कर सकते हैं? क्या जावास्क्रिप्ट में एक नींद / रोकें / प्रतीक्षा समारोह है? आप अपने (अप्रबंधित) कोड में मेमोरी लीक का पता कैसे लगा सकते हैं? जावा के साथ PHP पेज पर अपलोड और पोस्ट फ़ाइल

कैसे "304 संशोधित नहीं" काम करता है?

मेरा अनुमान है, यदि ब्राउज़र द्वारा जेनरेट किया गया है

function is_modified() { return get_data_from_cache() === get_data_from_url(); }; function get_data_from_cache() { return some_hash_or_xxx_function(cache_data); } function get_data_from_url() { return some_hash_or_xxx_function(new_data); } function some_hash_or_xxx_function(data) { // do something with data // what is that algorithm.? return result; } console.log(is_modified()); 

मैं डेटा प्राप्त करने के लिए तृतीय पक्ष एपीआई प्रदाता पर भरोसा कर रहा हूं, उसे डीबी को पार्स और पुश कर रहा हूं। डेटा हर अनुरोध के दौरान बदल सकता है या नहीं, लेकिन शीर्षलेख हमेशा 200 भेजता है, मैं पार्स नहीं करना चाहता, डीबी में अंतिम अद्वितीय आईडी की जांच करता हूं और डेटा में बदलाव का निर्धारण करने के लिए, न ही सीधे परिणाम की तुलना करें I md5() , sha1() और crc32() परिणाम को हराया और ठीक काम करता है, लेकिन 304 निर्धारित करने के लिए एल्गोरिथ्म को सोच रहा है।

मैं डेटा में परिवर्तन का निर्धारण करने के लिए उसी तरह के एल्गोरिथम का उपयोग करना चाहता हूं।

Solutions Collecting From Web of "कैसे "304 संशोधित नहीं" काम करता है?"

जब ब्राउज़र अपनी कैश में कुछ डालता है, तो यह सर्वर से Last-Modified या ETag हैडर भी संग्रहीत करता है।

ब्राउजर तब फिर If-Modified-Since या If-None-Match हेडर के साथ एक अनुरोध भेजता है, तो सर्वर को 304 भेजने के लिए कह रहा है अगर सामग्री अभी भी उस तारीख या ईटग है।

प्रत्येक संसाधन के प्रत्येक संस्करण के लिए सर्वर को डेट-संशोधित या ईटग की गणना करने के कुछ तरीके की आवश्यकता होती है; यह आमतौर पर फाइल सिस्टम या एक अलग डेटाबेस कॉलम से आता है।

अंतिम-संशोधित: अनुरोधित ऑब्जेक्ट के लिए अंतिम संशोधित तिथि

यदि-संशोधित-चूंकि: यदि अंतिम संशोधित दिनांक अपरिवर्तित है तो एक 304 संशोधित नहीं किया जाएगा।

ईटैग: एक ईटीएजी एक अपारदर्शी पहचानकर्ता है जो एक वेब सर्वर से एक यूआरएल पर मिले एक संसाधन के एक विशिष्ट संस्करण के लिए नियुक्त किया गया है। यदि उस यूआरएल पर संसाधन प्रतिनिधित्व कभी भी बदलेगा, तो एक नया और अलग-अलग ईटग को सौंपा जाएगा।

अगर-कोई-मैच नहीं: अगर ETag अपरिवर्तित हो तो एक 304 संशोधित नहीं किया जा सकता है।

ब्राउज़र की कैश को एक तिथि (अंतिम-संशोधित) या आईडी (ईटग) के साथ, जब आपको फिर से URL का अनुरोध करने की आवश्यकता होती है, तो ब्राउज़र को हेडर से अनुरोध संदेश भेजें:

यहां छवि विवरण दर्ज करें

सर्वर 304 पर वापस लौटाएगा, यदि if स्टेटमेंट गलत है, और ब्राउज़र कैश का उपयोग करेगा।