Замедляет ли добавление //domain.com/jquery.js замедлить работу сайта?

#css #seo #pagespeed

#css #seo #скорость страницы

Вопрос:

Я знаю, что для SSL- и не SSL-соединений вы можете использовать двойную косую черту //, за которой следует имя домена и src файла в CSS, JavaScript и HTML. Примеры:

 <script src="//site.com/js.js"></script>
<img src="//site.com/pic.jpg" />
.div{background:url(//site.com/assets/bg.gif)}
  

Замедляет ли это задержку страницы — нужно ли браузеру или мобильному устройству проверять это когда-либо?

Комментарии:

1. Что? Вы имеете в виду, «использует ли URL-адрес, относящийся к протоколу, медленнее, чем использование абсолютного URL-адреса» ?

2. да. пожалуйста, прокомментируйте ниже, чтобы сохранить последовательность.

Ответ №1:

Это нормально и работает превосходно…. За исключением двух особых обстоятельств:

Во-первых, в ie 7 и 8, если этот подход используется с CSS, загружаются две копии: одна с HTTP, одна с HTTPS и одна с HTTP — так что вы тратите впустую некоторую пропускную способность (хотя это не обязательно плохо, если вы отправляете заголовки expires по проводам с помощью CSS)

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

Некоторое обсуждение этого в этой статье Пол Айриш комментирует статью о второй проблеме, которую я изложил, а кто-то еще обсуждает первую проблему.

Надеюсь, это поможет.

Комментарии:

1. для дополнительной ясности, когда я говорю об использовании этого подхода для CSS, я имею в виду использование <link> тега для включения файла CSS, а не ссылки на изображение из CSS (как показано в вашем примере). Я не уверен, каково поведение в последнем случае

2. Спасибо за это. Мне тоже было интересно.. что делать, если у вас нет SSL-сертификата на сервере — не приведет ли это к ошибочному запросу, поскольку загрузки IE ничего не загружают в первый раз.

3. Я бы предположил, что это либо просто приведет к сбою, либо выдаст ошибку сертификата? Однако это не проблема, потому что URL-адреса без протокола полезны только в том случае, если у вас есть сертификат SSL