「304 Not Modified」応答はどのように生成されますか?
ブラウザは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
。私はむしろ私のDBに最後のユニークIDをチェックして、その上で...データの変化を決定するために、また結果を直接比較、解析したくないmd5()
、sha1()
とcrc32()
の結果をハッシュ化し、罰金を動作しますが、私は疑問を抱いています決定するアルゴリズム304
。
同じ種類のアルゴリズムを使用して、データの変化を判別したいと思います。