href(超文本引用)指定Web资源的地址,从而定义当前元素或当前文档与目标资源之间的关系。看下面这句代码:
<link href="style.css" rel="stylesheet"/>
目标资源是一个样式表,不会阻碍页面解析,但会阻碍页面渲染,要等CSS资源加载完才会继续渲染。
src(资源引用)会请求目标资源将其添加到当前文档中。如script、img、iframe等标签。我们通常理解src会阻碍页面解析,这样说并不完全对;例如
<script src="script.js"></script>
js的加载会阻碍页面解析,可通过async或defer进行异步加载来解决。
<img src="image.png" alt="替代文本">
img的加载并不会阻碍页面解析,img加载完成后不会立即渲染,而是等待Render Tree生成后和Render Tree一起渲染出来。如果图片没有加载完,等加载完后渲染。
总的来说
src用于向目标地址请求资源添加到文档,是页面的一部分;
href用于指定资源链接(不是将资源添加到页面,是引用),为当前页面和外部资源之间建立关系。