2017-10-13 1 views
1

httpまたはhttpsのページの安全でないコンテンツの警告を避けるための素晴らしい方法は、指定されたページプロトコルではなく現在のページプロトコルを使用する "//"を使用してコード内のすべてのスクリプトまたはアセットを参照することです。既存のページからリンクされていない場合、 "//"が付いたURLの予想される動作は何ですか?

ブラウザのURLボックスに直接//のURLを入力した場合、ブラウザが選択するデフォルトの動作はありますか?それはデフォルトでhttpまたはhttpsになっていますか、またはテストして1つを選択するいくつかのルールセットをもう1つ選ぶでしょうか?

答えて

1

ネットワークパスリファレンス(例://example.com/)はrelative referenceです。相対参照を解決するには、a base URI is necessary

ブラウザのアドレスバーにネットワーク・パス参照を入力する場合、そのようなベースURIは、最初の三つの方法で確立することができないので、第四の方法は、5.1.4. Default Base URIは、適用:

場合の条件なしベースURIは、アプリケーションのコンテキストによって定義されます。この定義は必然的にアプリケーションに依存するため、他の方法のいずれかを使用してベースURIを定義しないと、異なるタイプのアプリケーションによって同じ内容が異なる解釈を受ける可能性があります。

つまり、各ブラウザに依存します。ブラウザだけhttphttpsをサポートする場合は

は、それはおそらく、ユーザーが「www.example.com」のようなものを入力するときに使用されますと同じスキームを選ぶだろう、そうだろう httpSuffix Referenceを参照してください)。しかし、多くのブラウザは多くのスキームをサポートしています。 file:////example.com/test(Firefoxの)、 file:///example.com/test(クロム):

は例えば、私のシステムで、//example.com/testを要求するfileスキームを使用してURIに解決されます。

関連する問題