কীভাবে "304 সংশোধিত নয়" প্রতিক্রিয়া উত্পন্ন হয়?
কোনও ব্রাউজার কীভাবে এটি নির্ধারণ করে যে কোনও HTTP অনুরোধের প্রতিক্রিয়া 304?
এটি কি ব্রাউজার দ্বারা সেট করা হয়েছে বা সার্ভার থেকে প্রেরণ করা হয়েছে?
যদি সার্ভার দ্বারা প্রেরণ করা হয়, সার্ভার ক্যাশে উপলভ্য ডেটা কীভাবে জানবে, এছাড়াও এটি কোনও চিত্রের 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 the data.
// What is that algorithm?
return result;
}
console.log(is_modified());
আমি ডেটা পেতে, পার্স এবং এটি আমার ডাটাবেসে ঠেকাতে তৃতীয় পক্ষের API সরবরাহকারীর উপর নির্ভর করছি। প্রতিটি অনুরোধের সময় ডেটা পরিবর্তন হতে পারে বা নাও হতে পারে, তবে শিরোনাম সবসময় প্রেরণ করে 200
। আমি বিশ্লেষণ করতে চাই না, ডিবিতে সর্বশেষ ইউনিক আইডি এবং আরও কিছু পরীক্ষা করতে চাই ... তথ্যের পরিবর্তনটি নির্ধারণ করতে, বা ফলাফলের সরাসরি তুলনা না করে আমি md5()
, sha1()
এবং crc32()
ফলাফলটি হ্যাশ করে জরিমানা করি, তবে আমি এ নিয়ে ভাবছি অ্যালগরিদম নির্ধারণ করতে 304
।
আমার ডেটা পরিবর্তনটি নির্ধারণ করতে আমি একই ধরণের অ্যালগরিদম ব্যবহার করতে চাই।