Исключение схемы URL перед URL

0

Недавно я видел такие URL-адреса в документах CDN:

//cloudflare.cdnjs.com/foo

И я понял, что им не хватает http: или https: перед ними.

Хм, подумал я и попытался реализовать их в локальном тесте, и понял, что они не работают (они разрешили // быть file://, хотя это должно было быть http:.

Затем, когда я загрузил это на свой тестовый сервер, он работал (разрешен // как http://).

Поэтому мне было интересно, почему кто-нибудь напишет это без протокола?

Благодарю.

  • 0
    Оставив его на // вы выберете http или https зависимости от того, что использует страница. Я столкнулся с проблемой, когда Firefox не использовал мои шрифты Google (если я правильно помню) на странице, потому что я указал http и страница была https . Это вещь безопасности. Так что лучше всего оставить на // .
  • 0
    SO также имеет собственный тег о нем: протокол-родственник
Теги:
protocols

2 ответа

6
Лучший ответ

(Технически это не "протокол", а схема URI)

Для HTTP исключение схемы означает, что UA будет использовать текущую схему (и, следовательно, протокол) для извлечения файла, что означает, что какой-либо копируемый + вставленный код может быть повторно использован для запросов HTTP и HTTPS (или даже SPDY) без запуска предупреждения "Частично защищенные страницы" в браузерах.

  • 0
    Это объясняет, почему при редактировании локального файла и тестировании в браузере //cloudflare.cdnjs.com/foo разрешается в file://cloudflare.cdnjs.com/foo
3

В зависимости от параметров безопасности пользователя браузеры часто представляют предупреждение, если страница обслуживает смешанный контент (как HTTP, так и HTTPS). Конечно, вы могли бы просто закодировать свой HTML, используя тот же протокол, который вы планируете размещать на странице. Однако нередко использовать один и тот же HTML как в безопасных, так и в незащищенных порталах. Кроме того, вы бы предпочли, чтобы ваш HTML был агностиком для базового протокола.

Написание ссылок CDN, подобных этому, гарантирует, что запрос CDN использует тот же протокол, что и главная страница.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню