src 和 href

HTML 中 src 与 href 的语义差异,以及它们对资源加载和页面行为的影响。

#tech / dev / frontend #type / concept #status / growing

[!info] related notes

src 和 href

srchref 都会指向一个资源,但它们表达的关系不同。

一句话定义

  • src 表示“把这个资源拿来用”
  • href 表示“把当前文档和这个资源建立引用关系”

src 的典型场景

src 常见于:

  • <script src="...">
  • <img src="...">
  • <iframe src="...">
  • <audio src="...">

它更强调把外部资源嵌入到当前文档或执行环境中。

href 的典型场景

href 常见于:

  • <a href="...">
  • <link href="...">

它更强调建立跳转或关联关系,比如跳到另一个页面,或者告诉浏览器当前文档依赖一份样式资源。

核心差异

语义不同

  • src 更像“把资源本体引进来”
  • href 更像“声明一个引用关系”

常见行为不同

  • <img src> 会直接请求图片并嵌入页面
  • <script src> 会下载并执行脚本
  • <a href> 本身不会在解析时把目标页面嵌进当前页面,它主要用于跳转
  • <link href> 常用于加载样式、图标等关联资源

对页面的影响不同

有些 src 资源会直接参与当前页面渲染或执行流程,比如脚本和图片;href 更偏向建立导航或资源引用关系。

最容易混淆的点

  • <link href> 也会触发资源请求,但它的语义仍然是“当前文档引用这个资源”
  • <script href> 不成立,因为脚本标签需要的是脚本来源,不是超链接关系

最短记忆方式

src 是把资源拿来用,href 是和资源建立链接。

面试要点

来自 src-vs-href-interview-question 的面试视角整理。

一句话回答

src 表示把资源本体引入当前文档或执行环境,href 表示当前文档和某个资源建立引用或跳转关系。

最稳的回答主线

src

  • 常见于 scriptimgiframe
  • 更像“把资源拿进来直接使用”

href

  • 常见于 alink
  • 更像“建立链接或关联关系”

面试里可以顺手补的一句

比如 <script src> 会直接影响脚本加载和执行,<a href> 更多是导航语义,<link href> 更多是资源关联语义。

最短记忆方式

src 引资源,href 建链接。

创建于 2026/3/19 更新于 2026/5/27