ПРИМЕЧАНИЕ: @ Джон-Инь ответ более уместен, учитывая изменения в спецификациях.
Да. Существует различие между src и href, и их нельзя использовать взаимозаменяемо. Мы используем src для замененных элементов, а href - для установления связи между ссылочным документом и внешним ресурсом.
Атрибут href (Hypertext Reference) указывает местоположение веб-ресурса, определяя таким образом ссылку или взаимосвязь между текущим элементом (в случае привязки a
) или текущим документом (в случае link
) и целевым якорем или ресурсом, определенными этим атрибутом. Когда мы пишем:
<link href="style.css" rel="stylesheet" />
Браузер понимает, что этот ресурс является таблицей стилей и обработкасинтаксический анализ страницы не приостанавливается (рендеринг может быть приостановлен, поскольку браузеру нужны правила стилей для рисования и визуализации страницы). Это не похоже на сброс содержимого файла CSS внутри style
тега. (Следовательно, желательно использовать, link
а не @import
прикреплять таблицы стилей к вашему HTML-документу.)
Атрибут src (Source) просто внедряет ресурс в текущий документ в месте определения элемента. Например, Когда браузер находит
<script src="script.js"></script>
Загрузка и обработка страницы приостанавливается до тех пор, пока браузер не извлечет, не скомпилирует и не выполнит файл. Это похоже на сброс содержимого файла js внутри script
тега. Похожий случай с img
тегом. Это пустой тег, и содержимое, которое должно входить в него, определяется src
атрибутом. Браузер приостанавливает загрузку, пока не получит и не загрузит изображение. [так обстоит дело с iframe
]
По этой причине рекомендуется загружать все файлы JavaScript внизу (перед </body>
тегом).
обновление : см. ответ @ John-Yin для получения дополнительной информации о том, как это реализовано в соответствии со спецификациями HTML 5.