Зачем использовать URL-адреса, относящиеся к протоколу?
Это был часто обсуждаемый вопрос о StackOverflow, что это означает:
<script src="//cdn.example.com/somewhere/something.js"></script>
Это дает преимущество в том, что если вы обращаетесь к нему через HTTPS, вы получаете HTTPS автоматически, вместо этого страшного предупреждения "Небезопасные элементы на этой странице".
Но зачем использовать URL-адреса, относящиеся к протоколу? Почему бы просто не использовать HTTPS всегда в URL-адресах CDN? В конце концов, на странице HTTP нет причин жаловаться, если вы решите загрузить некоторые ее части через HTTPS.
(Это более конкретно для CDN, почти у всех CDN есть возможность HTTPS. В то время как ваш собственный сервер может не иметь HTTPS.)
Ответы
Ответ 1
По состоянию на декабрь 2014 года блог Paul Irish по относительным URL-адресам протокола говорит:
2014.12.17: теперь, когда SSL поощряется для всех и не имеет проблем с производительностью, этот метод теперь является анти-шаблоном. Если необходимый вам ресурс доступен по протоколу SSL, то всегда использует ресурс https://
.
Если у вас нет особых проблем с производительностью (например, медленная мобильная сеть, упомянутая в ответе Zakjan), вы должны использовать https://
для защиты своих пользователей.
Ответ 2
Из-за производительности. Установление соединения HTTPS занимает гораздо больше времени, чем HTTP, квитирование TLS добавляет задержку задержки до 2 RTT. Вы можете заметить это в мобильных сетях. Поэтому лучше не использовать URL-адреса активов HTTPS, если вам это не нужно.