REMARQUE: La réponse de @ John-Yin est plus appropriée compte tenu des changements dans les spécifications.
Oui. Il existe une différenciation entre src et href et ils ne peuvent pas être utilisés de manière interchangeable. Nous utilisons src pour les éléments remplacés tandis que href pour établir une relation entre le document de référence et une ressource externe.
L'attribut href (Référence Hypertexte) spécifie l'emplacement d'une ressource Web définissant ainsi un lien ou une relation entre l'élément courant (en cas d'ancre a) ou le document courant (en cas de link) et l'ancre ou ressource de destination définie par cet attribut. Quand on écrit:
<link href="style.css" rel="stylesheet" />
Le navigateur comprend que cette ressource est une feuille de style et que le En traitementl'analyse de la page n'est pas interrompue (le rendu peut être interrompu car le navigateur a besoin des règles de style pour peindre et rendre la page). Ce n'est pas similaire au vidage du contenu du fichier css à l'intérieur de la stylebalise. (Par conséquent, il est conseillé d'utiliser linkplutôt que @importde joindre des feuilles de style à votre document html.)
L' attribut src (Source) incorpore simplement la ressource dans le document courant à l'emplacement de la définition de l'élément. Pour par exemple. Lorsque le navigateur trouve
<script src="script.js"></script>
Le chargement et le traitement de la page sont suspendus jusqu'à ce que le navigateur récupère, compile et exécute le fichier. Cela revient à vider le contenu du fichier js dans la scriptbalise. Il en va de même pour le imgtag. C'est une balise vide et le contenu, qui devrait y entrer, est défini par l' srcattribut. Le navigateur suspend le chargement jusqu'à ce qu'il récupère et charge l'image. [c'est le cas avec iframe]
C'est la raison pour laquelle il est conseillé de charger tous les fichiers JavaScript en bas (avant la </body>balise)
mise à jour : Référez-vous à la réponse de @ John-Yin pour plus d'informations sur la façon dont elle est mise en œuvre selon les spécifications HTML 5.