web-dev-qa-db-ja.com

ネットワークパス参照URI /スキーマ相対URL

スキーマ相対URL(ネットワークパス参照)は、私が今見つけたものです。URLのスキーマを指定せずに、現在のコンテキストから取得します。

例:<img src="//domain.com/img.png" />は、現在のスキームがHTTPSの場合はhttps://domain.com/img.pngに解決され、そうでない場合はhttp://domain.com/img.pngに解決されます。

これは、ページの一部のコンテンツが安全でないという恐ろしいエラーを引き起こすことなく、SSLページで外部スクリプトまたは画像を呼び出すという厄介な問題を解決する非常に簡単な方法のようです。

利点は明白なようですが、私が見つけることができないように思えるのはこれに関する膨大な量の情報であり、誰かがスキーマ相対URL(良いか悪いか)に関する経験や参照を持っているかどうか疑問に思いましたか?

これにより問題が発生するブラウザーがあるかどうかを確認しようとしていますが(IE6-8、ChromeおよびFirefoxで成功しています)、私も調べることに興味があります誰かがこれを異なる言語で使用した経験がある場合、たとえば、ASPでスキームの相対URLを使用してResponse.Redirectを発行する場合に機能しますか?

60

//domain.com/img.pngRFC 3986:セクション4.2 のとおり、完全に有効なURI構文です。

これは現在の scheme に関連しているため、前述のとおり、スキームを明示的に指定する必要がないため、httpとhttpsを切り替えるときに非常に役立ちます。

IE 6.を含む)すべての最新のブラウザは、そのフォーマットを理解します。

Stack Overflowの詳細:

56
Daniel Vassallo

IE 7および8をサポートする場合は、スタイルシートのスキーム相対URLにより、2回ダウンロードされることを考慮する必要があります。

[...]これをInternet Explorer 7および8で試した場合、プロトコル相対URLで指定されたスタイルシートが2回ダウンロードされることがわかります。

Internet Explorer 7および8でページをできるだけ高速にしたい場合、開発者はスタイルシートにプロトコル相対URLを使用しないでください。

出典: http://www.stevesouders.com/blog/2010/02/10/5a-missing-schema-double-download/

9
MPV