1.まとめ
2019年の回答:プロトコル相対URLは引き続き使用できますが、この手法 はアンチパターンです。
また:
- 開発に問題があるかもしれません。
- 一部のサードパーティツールはそれらをサポートしない場合があります。
プロトコル相対URLからhttps://
それに移行するとよいでしょう。
2.関連性
この回答は2019年1月に関連しています。将来、この回答のデータは廃止される可能性があります。
3.アンチパターン
3.1。議論
Paul Irish — フロントエンドエンジニアであり、Google Chromeの開発者である — 2014年12月に執筆:
今、SSLがされていることを皆のための奨励とパフォーマンスの懸念を持っていない、この技術は現在、アンチパターンです。必要なアセットがSSLで利用できる場合は、常にそのhttps://
アセットを使用してください。
スニペットがHTTP経由でリクエストできるようにすると、最近のGitHub Man-on-the-side攻撃のような攻撃の可能性が開かれます。サイトがHTTP上にある場合でもHTTPSアセットをリクエストしても常に安全ですが、その逆は当てはまりません。
3.2。別のリンク
3.3。例
4.開発プロセス
たとえば、私はclean-consoleを使用しようとします。
- ファイルの例
KiraCleanConsole__cdn_links_demo.html
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>clean-console without protocol demonstration</title>
<!-- Really dead link -->
<script src="https://unpkg.com/bowser@latest/bowser.min.js"></script>
<!-- Package exists; link without “https:” -->
<script src="//cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
<!-- Package exists: link with “https:” -->
<script src="https://cdn.jsdelivr.net/npm/gemini-scrollbar/index.js"></script>
</head>
<body>
Kira Goddess!
</body>
</html>
D:\SashaDebugging>clean-console -i KiraCleanConsole__cdn_links_demo.html
checking KiraCleanConsole__cdn_links_demo.html
phantomjs: opening page KiraCleanConsole__cdn_links_demo.html
phantomjs: Unable to load resource (#3URL:file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js)
phantomjs: phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error opening //cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js: The network path was not found.
phantomjs://code/runner.js:31 in onResourceError
phantomjs: Unable to load resource (#5URL:https://unpkg.com/bowser@2.1.0/bowser.min.js)
phantomjs: phantomjs://code/runner.js:30 in onResourceError
Error code: 203. Description: Error downloading https://unpkg.com/bowser@2.1.0/bowser.min.js - server replied: Not Found
phantomjs://code/runner.js:31 in onResourceError
phantomjs: Checking errors after sleeping for 1000ms
2 error(s) on KiraCleanConsole__cdn_links_demo.html
phantomjs process exited with code 2
リンク//cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
は有効ですが、エラーが発生します。
Thiloとbg17awの回答に注意しfile://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
て読んでください。file://
私はこの動作について知らなかったし、なぜpageresでこのような問題が発生するのか理解できませんでした。
5.サードパーティツール
クリック可能なURLの崇高なテキストパッケージを使用しています。それを使用して、ブラウザーでテキストエディターからリンクを開くだけです。
例の両方のリンクが有効です。しかし、ブラウザで正常に開くことができる最初のリンクは、クリック可能なURL、2番目のリンクを使用します—いいえ。これはあまり便利ではないかもしれません。
6.まとめ
はい:
Developing process
アイテムのように問題がある場合は、開発ワークフローを設定できます。
- そうでなければ、
Third-party tools
アイテムのように問題があれば、ツールを提供することができます。
しかし、この追加の問題は必要ありません。Anti-pattern
アイテム内のリンクごとに情報を読み取ります。プロトコル相対URLは廃止されました。