アカウント名:
パスワード:
>アナログモデムの頃は通信プロトコル自体にデータ圧縮があったと思うので、HTTPもサーバクライアント間でネゴシエーションしてgzipやdeflateで圧縮して送る技術は昔からありますよ
そうなんだよね。
この記事もHTTP1.1でgzip圧縮かけるのと、zipにまとめたファイルをダウンロードするのと、どんだけ違うの?って思った。初回表示以外はキャッシュが働くこととか、スクリプトや装飾画像は複数のページで共有されていることも考えると、全く意味がないと思う。
「圧縮する」ことよりも「まとめて送る」ことに価値があると思います。a.htmlが a.css と b.js を読んでるb.js では、動的にc.css を読んでる(以下略)みたいな感じで必要なファイルが連鎖していくと、順次ファイルを解析しては次のファイルをリクエスト、という流れで表示に必要なファイルが全部揃うまでにかなり時間がかかります。
それを、最初のa.html を取得する時点で、必要になるファイルを一式全部一緒に渡してしまえば、「リクエストしては結果が届くのを待つ」時間がなくなりますので、その分の高速化は期待できるかと。
問題は、そういう> 初回表示以外はキャッシュが働くこととか、スクリプトや装飾画像は複数のページで共有されていることを考えると、オーバーヘッドが大きいってことですよね。
最初のa.html のリクエストの段階で、ブラウザから手持ちのファイル群について、If-Modified-Since 群を送りつけて、サーバからは、無い/新しいファイルだけをまとめてzip転送する、とかすれば効率化は図れそうです。
そんな感じでいろいろ工夫は出来そうですが、そもそもどのファイルが読まれるか分からない状況ではそういう候補ファイル群をリストアップすることすら難しいでしょうし、プロトコル的に拡張しないといけないし、サーバ側の対応しなきゃいけないので、実現は難しいでしょうね…
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
まだ発展途上? (スコア:1)
いろいろ違いがあるとはいえ、やっと追いついた感じ?
#あ、JIGブラウザも似たような事をやってるんでしたっけ
Re: (スコア:0)
>アナログモデムの頃は通信プロトコル自体にデータ圧縮があったと思うので、
HTTPもサーバクライアント間でネゴシエーションしてgzipやdeflateで圧縮して送る技術は昔からありますよ
Re:まだ発展途上? (スコア:1)
そうなんだよね。
この記事もHTTP1.1でgzip圧縮かけるのと、zipにまとめたファイルをダウンロードするのと、どんだけ違うの?って思った。初回表示以外はキャッシュが働くこととか、スクリプトや装飾画像は複数のページで共有されていることも考えると、全く意味がないと思う。
Re:まだ発展途上? (スコア:1)
「圧縮する」ことよりも「まとめて送る」ことに価値があると思います。
a.htmlが a.css と b.js を読んでる
b.js では、動的にc.css を読んでる
(以下略)
みたいな感じで必要なファイルが連鎖していくと、
順次ファイルを解析しては次のファイルをリクエスト、という流れで
表示に必要なファイルが全部揃うまでにかなり時間がかかります。
それを、最初のa.html を取得する時点で、必要になるファイルを一式全部一緒に渡してしまえば、
「リクエストしては結果が届くのを待つ」時間がなくなりますので、その分の高速化は期待できるかと。
問題は、そういう
> 初回表示以外はキャッシュが働くこととか、スクリプトや装飾画像は複数のページで共有されていること
を考えると、オーバーヘッドが大きいってことですよね。
最初のa.html のリクエストの段階で、
ブラウザから手持ちのファイル群について、If-Modified-Since 群を送りつけて、
サーバからは、無い/新しいファイルだけをまとめてzip転送する、とかすれば効率化は図れそうです。
そんな感じでいろいろ工夫は出来そうですが、
そもそもどのファイルが読まれるか分からない状況ではそういう候補ファイル群をリストアップすることすら難しいでしょうし、
プロトコル的に拡張しないといけないし、サーバ側の対応しなきゃいけないので、実現は難しいでしょうね…