h2o は mruby ハンドラで link ヘッダを使って push を指示すると、バックエンドへの問合せと非同期で静的ファイルを push してくれます。 もしバックエンドアプリケーションで link ヘッダを吐いて push する場合、バックエンドアプリケーションの処理が終わったあとから push が始まることになるので、アプリケーションの実行時間分、push できる時間を失うことになります。 server-push の指示をテンプレートに書きたい病 自分はプリロード指示をバックエンド側のテンプレートに書きたい病にかかっており、現状で以下のようなテンプレートコードを書いて、バックエンドから preload ヘッダを吐いています。 r.preload() は link ヘッダを追加するメソッドになっており、これを実際に読みこんでいるHTMLの部分の近くに置くことでリソース管理を簡略化し
![h2o での server-push タイミングの最適化 | tech - 氾濫原](https://cdn-ak-scissors.b.st-hatena.com/image/square/224955fdbee713fdf26293fd17d91eaca9a5676a/height=288;version=1;width=512/https%3A%2F%2Flh3.googleusercontent.com%2F-Ug7jYothZLA%2FVxO8bni9yOI%2FAAAAAAAAeNg%2F9UN06CTL7eQfTOHpx-IPh9FB1p_sRZcIgCLcB%2Fs2048%2F2016-04-18%252B00.54.44.png)