2013-12-12 14 views
7

現代のブラウザのどれかが、埋め込まれたイメージを実際にキャッシュしているかどうか、私は知っていましたか?ブラウザは埋め込みベース64イメージもキャッシュできますか?

近い将来可能性もありますか? W3Cまたは主要なブラウザの公式文書に基づいています。

+1

私が理解しているように、base64文字列がHTMLドキュメント(インライン)の一部である場合、ドキュメントをダウンロードするたびにダウンロードしてイメージとして解析する必要があります。外部CSSファイルの背景イメージであれば、CSSファイルでキャッシュすることができますが、依然としてリクエストごとに解析する必要があります。私は、base64エンコーディングが画像バイトの上に30%のオーバーヘッドを追加することも読んでいますが、これはgzippingによって大きく無効にすることができます。 – pwdst

+0

@pwdstおかげさまで、私は読んでいましたし、私も同じページにいます。あなたが答えとしてあなたのコメントを投稿すれば、私はそれをupvoteすることを嬉しく思います。 – Mahdi

+0

私はこれを答えとしてリクエストに応じて追加しました。 – pwdst

答えて

4

キャッシングされた画像のキーとしてResource Identifierが不足していると思われます。埋め込まれた画像を使用すると、データそのものだけが表示されます。

さらに、インラインイメージの潜在的な条件付き要求は、それを含むHTMLドキュメントのレベルでなければなりません。インライン化されたイメージは、追加の要求のないデータです。しかし、HTTPはデータの部分に対する条件付き要求のようなものをサポートしていません。

+0

そこに置く方法はありますか?おそらく属性として? – Mahdi

+2

リソース識別子を追加することを意味しますか?ありません。私が理解しているように、base64でエンコードされたデータは、埋め込まれているリソースの一部(HTMLやCSSファイルなど)として扱われます。明らかに、そのリソースがキャッシュされていれば、その中のデータはそのリソースの一部としてキャッシュされます。 –

+1

@OllyHodgson説明をいただきありがとうございます。 – Mahdi

3

私が理解しているように、base64文字列がHTMLドキュメント(インライン)の一部である場合、ドキュメントがダウンロードされるたびにイメージとしてダウンロードされ、解析される必要があります - フラグメントをキャッシュする方法はありませんドキュメント。外部CSSファイルの背景イメージであれば、CSSファイルでキャッシュすることができますが、依然としてリクエストごとに解析する必要があります。私は、base64エンコーディングが画像バイトの上に30%のオーバーヘッドを追加することも読んでいますが、これはgzippingによって大きく無効にすることができます。

関連する問題