sankichi92/isucon13

GET /api/user/:username/icon で 304 を返せるようにする

Closed this issue · 0 comments

正攻法は Nginx から配信するようにするが、DB からデータ剥がすのは大変そう。

DB をそのままにやる場合は以下の手順か。

  1. icons テーブルに icon_hash カラムを追加する
  2. post_icon_handler で sha256 を計算して icon_hash に非同期で保存する(2秒以内)
  3. fill_user_response で事前計算済みの icon_hash を返すようにする
  4. get_icon_handler で If-None-Match ヘッダを見て、存在すれば icons テーブルで icon_hash との一致を確認、一致すれば 304 を返して早期リターン