1. ホーム
  2. http

[解決済み】http:// のリンクを全て // に変更することは可能ですか?

2022-04-03 07:14:40

質問

デイブ・ウォード は言う。

決して軽い読み物ではありませんが RFC3986の4.2項 は、プロトコル (HTTP または HTTPS) を完全に省略した完全修飾 URL を規定しています。URLのプロトコルが省略された場合、ブラウザは代わりに基礎となるドキュメントのプロトコルを使用します。

簡単に言うと、このような「プロトコルレス」なURLを使えば、どのようなブラウザでもこのようなリファレンスが動作するようになります。

//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js

一見奇妙に見えますが、この「プロトコルレス」URLは、HTTPとHTTPSの両方で利用可能なサードパーティコンテンツを参照するための最良の方法なのです。

これは、HTTPページで見られる多くのミックスコンテンツエラーを確実に解決してくれることでしょう。

これは完全にクロスブラウザ対応なのでしょうか?また、他に注意点はありますか?

解決方法は?

公開前に徹底的にテストしました。 テスト可能なすべてのブラウザの中で ブラウザショット という無名の *nix ブラウザです。 ディロ .

ご意見をいただいた欠点は2つあります。

  1. ブラウザでローカルファイルを開くと、ページのベースプロトコルが file:/// になるため、プロトコルレス URL は期待どおりに動作しないことがあります。 特に、CDN でホストされているアセットのような外部リソースに対してプロトコルレス URL を使用している場合です。 Apache や IIS のようなローカルのウェブサーバーで http://localhost のアドレスは問題なく動作します。
  2. iPhoneのフィードリーダーアプリの中には、プロトコルレスのURLを正しく扱えないものが少なくとも1つあるようです。 どのアプリに問題があるのか、またどの程度普及しているのか、私は知りません。 JavaScriptファイルをホストする場合、RSSリーダーは通常、どのみちJavaScriptコンテンツを無視するので、これは大きな問題ではありません。 しかし、RSS で配信する必要があるコンテンツ内の画像などのメディアにこれらの URL を使用している場合は、問題になる可能性があります(ただし、1 つのプラットフォーム上のこの単一のリーダー アプリが占める読者の数は、おそらくごくわずかでしょう)。