NOTA: A resposta de @ John-Yin é mais apropriada, considerando as alterações nas especificações.
Sim. Há uma diferenciação entre src e href e eles não podem ser usados de forma intercambiável. Usamos src para elementos substituídos enquanto href para estabelecer um relacionamento entre o documento de referência e um recurso externo.
O atributo href (referência de hipertexto) especifica a localização de um recurso da Web, definindo um link ou relacionamento entre o elemento atual (no caso de âncora a) ou documento atual (no caso de link) e a âncora ou recurso de destino definido por este atributo. Quando escrevemos:
<link href="style.css" rel="stylesheet" />
O navegador entende que esse recurso é uma folha de estilo e o em processamentoa análise da página não está em pausa (a renderização pode estar em pausa, pois o navegador precisa das regras de estilo para pintar e renderizar a página). É não semelhante a despejar o conteúdo do arquivo CSS dentro da styletag. (Portanto, é aconselhável usar em linkvez de @importanexar folhas de estilo ao seu documento html.)
O atributo src (Origem) apenas incorpora o recurso no documento atual no local da definição do elemento. Por exemplo. Quando o navegador encontra
<script src="script.js"></script>
O carregamento e o processamento da página são pausados até que o navegador busque, compile e execute o arquivo. É semelhante ao descarte do conteúdo do arquivo js dentro da scripttag. Semelhante é o caso da imgtag. É uma tag vazia e o conteúdo, que deve aparecer dentro dela, é definido pelo srcatributo O navegador interrompe o carregamento até que seja buscado e carregado a imagem. [assim é com iframe]
Essa é a razão pela qual é aconselhável carregar todos os arquivos JavaScript na parte inferior (antes da </body>tag)
atualização : Consulte a resposta de John-Yin para obter mais informações sobre como ela é implementada de acordo com as especificações do HTML 5.