UWAGA: @ Johna-yin za odpowiedź jest bardziej odpowiednie biorąc pod uwagę zmiany w specyfikacji.
Tak. Istnieje różnica między src i href i nie można ich używać zamiennie. Używamy src do zastępowanych elementów, a href do ustanawiania relacji między dokumentem odniesienia a zasobem zewnętrznym.
Atrybut href (odniesienie hipertekstowe) określa lokalizację zasobu internetowego, definiując w ten sposób łącze lub relację między bieżącym elementem (w przypadku kotwicy a) lub bieżącym dokumentem (w przypadku link) a docelową kotwicą lub zasobem zdefiniowanym przez ten atrybut. Kiedy piszemy:
<link href="style.css" rel="stylesheet" />
Przeglądarka rozumie, że ten zasób to arkusz stylów, a plik przetwarzanieanalizowanie strony nie jest wstrzymane (renderowanie może zostać wstrzymane, ponieważ przeglądarka potrzebuje reguł stylu do malowania i renderowania strony). Nie jest to podobne do zrzucania zawartości pliku css wewnątrz styletagu. (Dlatego zaleca się używanie linkzamiast @importdołączania arkuszy stylów do dokumentu HTML).
src (Source) po prostu osadza zasób w bieżącym dokumencie w miejscu definicji elementu. Np. Gdy przeglądarka znajdzie
<script src="script.js"></script>
Ładowanie i przetwarzanie strony zostaje wstrzymane do czasu, gdy przeglądarka pobierze, skompiluje i uruchomi plik. Jest to podobne do zrzucania zawartości pliku js wewnątrz scripttagu. Podobnie jest z imgtagiem. Jest to pusty tag, a treść, która ma się w nim znaleźć, jest definiowana przez srcatrybut. Przeglądarka wstrzymuje ładowanie do czasu pobrania i załadowania obrazu. [tak jest w przypadku iframe]
To jest powód, dla którego wskazane jest ładowanie wszystkich plików JavaScript na dole (przed </body>tagiem)
aktualizacja : zapoznaj się z odpowiedzią @ John-Yin, aby uzyskać więcej informacji na temat sposobu implementacji zgodnie ze specyfikacjami HTML 5.