Две косые черты в атрибуте url/src/href [дубликат]
Возможные Дубликаты:
URI, начиная с двух косых черт ... как они себя ведут?
абсолютные URL-адреса, опуская протокол (схему), чтобы сохранить одну из текущей страницы
стенография как / / для тегов скриптов и ссылок? кто-нибудь видел / использовал это раньше?
Я смотрел через источник сброс HTML5 когда я заметил следующий линия:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
почему URL начинается с двух косых черт? Это сокращение для http://?
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.
Comments