更新があった場合のみデータを取得する

気象庁XMLの高頻度feedのように、毎分更新される(かもしれない)データを継続的に取得するとき、毎分リクエストを飛ばしてハッシュ値やらで更新の有無を判別する方法が素朴だが、もしデータに更新がなかった場合、配信元に余分な負荷をかけたことになる。

相手への負荷を最低限にする方法として、"If-Modified-Since"リクエストヘッダーに前回取得した時刻(UTC)を指定すると、更新がなかったら304、更新されていたら200と、配信元への負荷を軽減することができる。

サンプルコード

 

参考

developer.mozilla.org

qiita.com

note.nkmk.me