ПРИМІТКА: @ Джон-Інь відповідь більш доцільна з огляду на зміни в специфікаціях.
Так. Існує різниця між 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>
тегом)
оновлення : див. відповідь на Джон-Інь для отримання додаткової інформації про те, як вона реалізована відповідно до специфікацій HTML 5.