Skip to content

Instantly share code, notes, and snippets.

@kjunichi
Last active September 17, 2015 03:46
Show Gist options
  • Save kjunichi/bf6180f53ed75f43af5c to your computer and use it in GitHub Desktop.
Save kjunichi/bf6180f53ed75f43af5c to your computer and use it in GitHub Desktop.

electronでhttp2

ブラウザのまね

指定されたURLをhttp2で受信 最終的には断片的に受信したバイト列で解析行える箇所は どんどん進めていきたいが、一旦は全受信後に パースを行う。

パース

取得すべきリソースを洗い出す

dom.innerHTMLを利用が無難。

  • a
  • img
  • link

CSSの画像の取得

気が付いてしまった問題

imgタグ問題

画面にレンダリングすることはできるが、DOMとしては そのまま扱えないのでは疑惑

img = document.createElement("img"); img.src=..といった形式でDOMを作成できない。

なぜなら、img.src=やった時点でhttp/1.1アクセスとなってしまう。

=>

electron <-> HTTP/1.1 <-> プロキシでHTTP2に変換 <-> HTTP2 <-> HTTP2サーバー

という構成なら、クライアントとサーバーの間でHTTP2通信にはなりそうだが、TLS問題がありそう。

ワークアラウンド

base64エンコードしてDATA URIを持ったimgタグとして受信したコンテンツを書き換えて後続処理を行う

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