外部ファイルのハッシュをHTMLファイルに含めることが可能かどうかは疑問でした。これは、基本的に2つの目的に役立ちます。キャッシュに含めるファイルのハッシュをHTMLで提供していますか?
- 暗号化されていないコンテンツを暗号化されたページに含める。 :
- は、後者の場合には複数のページに
レッツ・フォーカスを使用して作られたアップ例と、それを明確にされているリソースのためのより多くのキャッシュを許可する(ハッシュは、データの整合性を確実にするでしょう)
<script type="text/javascript" src="jQuery-1.5.1.min.js" hash-md5="b04a3bccd23ddeb7982143707a63ccf9">
ブラウザは、最初にファイルをダウンロードしてキャッシュできるようになりました。同じハッシュを使用する次のページごとに、キャッシュされたバージョンを使用できることは明らかです。このテクニックは、ファイルの起源、ファイルの種類、伝送プロトコルとは無関係に動作し、ファイルがローカルに既にキャッシュされていることを知るために一度サーバーにヒットしなくても動作するはずです。
私の質問はです:そのようなメカニズムはHTMLで利用できますか?
次の例は、アイデアをさらに明確にするためのものであり、新しい情報を追加するものではありません。 2つの無関係なページに含まれるライブラリの例は、以下の手順につながります。
- ユーザーは
- ブラウザのロードページA初めてのページAに移動し、外部ファイルを探します(イメージ、スクリプト、...)
- ブラウザがページAはハッシュ
b04a3bccd23ddeb7982143707a63ccf9
- とスクリプトが含まれて見つけますブラウザがそのキャッシュをチェックし、は
- ブラウザは指定されたURLからファイルをダウンロードし、そのハッシュとはファイルが見つからない
- (ページAのドメイン上のファイルを提供します)ブラウザはハッシュを計算し、Aページに記載されているハッシュと比較します。
- ブラウザはハッシュを使用してキャッシュにファイルを追加します。 計算されたハッシュが指定されたハッシュと一致しない場合、ファイルはエラーメッセージで拒否されていました。
- ブラウザでファイルが実行されます。後のある時点で
:
- ユーザーが初めて
- ブラウザの負荷のページBのページBに移動し、外部ファイルを探します(イメージ、スクリプト、...)
- ブラウザはページBにハッシュを含むスクリプトが含まれています
b04a3bccd23ddeb7982143707a63ccf9
- ブラウザはキャッシュをチェックし、はそのハッシュを持つファイルを見つけます。
- ブラウザはキャッシュからファイルをロードします。 ブラウザはのURLを気にしませんでした。ファイルを指し示すページBに与えられたURL。また、ファイルの内容がどのようにキャッシュに入ったのかは関係ありませんでした。プロトコル、接続とソースの暗号化は無視されました。ページBのファイルをロードするサーバーへの接続がありません
- ブラウザはファイルを実行します。
感謝を参照してください、しかしアドレスにファイルハッシュまたはリビジョン番号を追加すると、新しい要求につながります。問題は、ブラウザが**サーバにヒットする必要がない**を知るようにハッシュを提供することです。 2つのサイトが同じファイルjQueryを使用しているとしますが、お互いを知りません。ハッシュは、サイト2のコピー(またはそのHTTPヘッダー)を読み取るためにサーバーにぶつかることなく、サイト2のサイトのコピーのコンテンツを使用することが有効であることをブラウザーに通知する必要があります。 CDNを使用すると問題は緩和されますが、不要な依存関係が発生します。 –