Skip to content

Instantly share code, notes, and snippets.

@teppeis
Last active August 7, 2017 23:51
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save teppeis/177385f0e4a4a5d0100a4986873233cc to your computer and use it in GitHub Desktop.
Save teppeis/177385f0e4a4a5d0100a4986873233cc to your computer and use it in GitHub Desktop.
ES ModulesはHTTP/2で部分更新の夢を見るか?

ES ModulesはHTTP/2で部分更新の夢を見るか?

これまでのあらすじ

ES6 ModulesはHTTP/2によってconcat無しで使えるようになるのか - teppeis blog

ES Modulesのネストした依存関係をHTTP/2によって1RTT以内にロードできるのか問題

  • HTTP/2 Push 使えば余裕です勢
  • いやいやクライアントキャッシュ考えるとやばいよ
  • そこで Cache Aware Server Push ですよ by kazuho

解決策

  • Cache Aware Server Push
  • Service Worker (初回ロードに弱い)
  • ブラウザネイティブに管理

どれかで解決できるよね。これでES Modulesはconcatなしで使えるぞ!

第二幕

ところで、1ファイルだけ更新されたときどうするの?

これが一番やりたかったことだよねー

あれ?ざわざわ

HTTP/2 Pushには304がない問題

http://www.slideshare.net/kazuho/developing-the-fastest-http2-server/49

これを

import "./foo";

こうする必要がある?

import "./20160714_123/foo";

fresh vs. stale

http://www.slideshare.net/kazuho/developing-the-fastest-http2-server/42

  • fresh: expires 10年後
  • stale: if modified, 304

HTTP/2 Push には 304 的な仕組みがない

さてどうする?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment