Две косые черты в атрибуте url/src/href [дубликат]




Возможные Дубликаты:
URI, начиная с двух косых черт ... как они себя ведут?
абсолютные URL-адреса, опуская протокол (схему), чтобы сохранить одну из текущей страницы
стенография как / / для тегов скриптов и ссылок? кто-нибудь видел / использовал это раньше?






Я смотрел через источник сброс HTML5 когда я заметил следующий линия:



<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>


почему URL начинается с двух косых черт? Это сокращение для http://?

607   2  

2 ответов:

"две косые черты" являются общим сокращением для "любого протокола, который используется прямо сейчас".

наиболее известные как "относительные URL-адреса протокола", они особенно полезны, когда элементы , такие как файл JS в вашем примере, могут быть загружены из любого http или https контексте. Используя относительные URL-адреса протокола, вы можете избежать реализации

if (window.location.protocol === 'http:') {
    myResourceUrl = 'http://example.com/my-resource.js';
} else {
    myResourceUrl = 'https://example.com/my-resource.js';
}

тип логики по всей вашей кодовой базе (предполагая, конечно, что сервер в example.com может чтобы обслуживать ресурсы через оба http и https).

ярким примером реального мира является движок электронной коммерции Magento: по соображениям производительности страницы магазина используют plain http по умолчанию, в то время как в кассе составляет https включено.

когда жестко закодированные ресурсы (т. е. рекламные баннеры в заголовке сайта) ссылаются на относительные URL-адреса без протокола (т. е. http://example.com/banner.jpg), клиенты достижении https включена проверка будет встречено с довольно недружелюбно

"на этой странице есть небезопасные элементы"

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

если на вышеупомянутый ресурс ссылаются через //example.com/banner.jpg хотя, браузер заботится о предварении соответствующего протокола.

tl; dr: даже при малейшей возможности смешанной среды http / https просто используйте относительные URL-адреса двойной косой черты/протокола для загрузка ресурсов-при условии, что хост, обслуживающий контент, включен как http, так и https.

он автоматически добавит https или http, в зависимости от того, как был сделан запрос.

Comments

    Ничего не найдено.