Webバンドル-RarJPEGケースライブ

先日、さまざまなWebリソースを1つのファイル-Web Bundleにパックするためのツールセットの最初のリリース。 操作の原理は、EXEファイルに含まれるリソースの場合とまったく同じです。任意のファイルは1つのコンテナファイルにまとめられ、クライアント側では、APIを使用してファイル名でアクセスできます。 この場合にのみ、PNG画像がコンテナとして使用されます。 クライアント部分は、このようなリソースから個々のファイルをロード、デコード、抽出できる小さなJSライブラリです。



パンからトロリーの写真があるはずです。 かっこいいが、なぜ?! 結局のところ、すべてのリソースは完全にロードされ、コンテナーにパッケージ化されることなく、並行してロードされます。 この質問は議論の余地があります。 一方では、単一のファイルでリソースをロードする方が、複数の小さなファイルを並行してダウンロードする場合よりも高速になる可能性があります。特に、待ち時間が長いモバイル接続では。 一方、同じタイプのリソースを、スクリプト、スタイルシート、アイコンなどの単一のファイルに結合する技術は長い間ありました。 はい。HTTP2.0の普及により、この問題はまもなく解決します。 それでも、Webバンドルにはいくつかの利点があります。



普遍性。 バイナリファイルまで、絶対に任意のファイルをパックできます。 MIMEに制限がある一部のホスティングサイトでは、ダウンロードしたファイルの種類をダウンロードしたり、クライアントに任意のファイルを提供したりすることはできません。



高速デコード。 PNG形式はブラウザ自体によってデコードされ、出力は視覚的に意味のあるものを何も運ばず、色ノイズのように見える「画像」です。 ピクセルカラー値の代わりに、Canvasを使用してクライアントライブラリによって抽出されるリソースファイルのコンテンツがあります。





この画像には3つのファイルがあります



便宜上、テキスト、JSONオブジェクト、および画像としてリソースを読み取るためのメソッドが提供されています。



このテクノロジーの成功は、実際のアプリケーションを見つけるかどうかにかかっています。 そして、それは非常に異なる場合があります。 たとえば、マルウェアをクライアントに密かに配信するために使用できますか? おそらくそれができます。 ただし、AVベンダーは迅速に対応し、適切な解凍および分析モジュールを追加する可能性があります。 そのため、ユーザーにとってこれは大きな問題にはなりません。 しかし、写真やスクリーンショットのホスティングでは、ユーザーがダウンロードしたすべてのファイルをスキャンする必要がある場合、問題になる可能性があり、これによりサーバーの負荷が増大します。



UPD:

iSageが示唆したように、このアイデアは2009年にPNGfyで既に実装されていました(まあ、Canvasはすでに当時でした!)、しかし、1つのファイルに対してのみです。



All Articles