1. Резюме
Ответ за 2019 год: вы все еще можете использовать относящиеся к протоколу URL-адреса, но этот метод анти-шаблон .
Также:
- У вас могут быть проблемы с разработкой.
- Некоторые сторонние инструменты могут не поддерживать их.
Переход с относительных к протоколу URL-адресов на https://
было бы неплохо.
2. Актуальность
Этот ответ актуален для января 2019 года. В будущем данные этого ответа могут устареть.
3. Анти-шаблон
3,1. Аргументация
Пол Айриш - инженер-фронтовик и адвокат разработчика для Google Chrome - запись 2014, декабрь :
Теперь, когда SSL рекомендуется для всех и не имеет проблем с производительностью , эта техника теперь антишаблон . Если нужный вам актив доступен по SSL, то всегда используйте https://
актив.
Разрешение фрагменту запрашивать по HTTP открывает двери для атак, таких как недавняя атака GitHub "Человек на стороне" . Всегда безопасно запрашивать HTTPS-ресурсы, даже если ваш сайт работает по протоколу HTTP, однако обратное не соответствует действительности .
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
действительна, но я получаю сообщение об ошибке.
Обратите внимание на file://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js
и прочитайте Thilo и bg17aw ответы о file://
.
Я не знал об этом поведении и не мог понять, почему у меня такие проблемы, как это для pageres .
5. Сторонние инструменты
Я использую URL, по которым можно кликать Пакет Sublime Text. Используйте его, я могу просто открыть ссылки из моего текстового редактора в браузере.
Обе ссылки в примере действительны. Но первая ссылка, которую я могу успешно открыть в браузере, использует кликабельные URL, вторая ссылка - нет. Это может быть не очень удобно.
6. Заключение
Да
- Если у вас есть проблемы, как в пункте
Developing process
, вы можете настроить рабочий процесс разработки.
- В противном случае у вас есть проблемы, как в пункте
Third-party tools
, вы можете добавить инструменты.
Но вам не нужны эти дополнительные проблемы. Чтение информации по ссылкам в элементе Anti-pattern
: относящиеся к протоколу URL устарели.