href 和 src 有什么区别,它们对性能有什么影响?

href 和 src 有什么区别,它们对性能有什么影响?

作者:watermelo37

CSDN全栈领域优质创作者、华为云云享专家、阿里云专家博主、腾讯云“创作之星”特邀作者、火山KOL、支付宝合作作者,全平台博客昵称watermelo37。

一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。

---------------------------------------------------------------------

温柔地对待温柔的人,包容的三观就是最大的温柔。

---------------------------------------------------------------------

href 和 src 有什么区别,它们对性能有什么影响? 在前端开发中,src 和 href 是最常使用的两个 HTML 属性,许多工程师主要依靠经验使用,而不真正清楚它们在浏览器中的语义、行为差异以及性能与安全影响。难道它们只是“约定俗成”的

小瓜将从语义基础 → 浏览器行为 → 工程实践,由浅入深分享分享 href 与 src 的小秘密。

一、核心语义:src 与 href 的本质区别1、基本语义(根本差异) src = 引入资源 → 当前元素必须使用该资源。元素会“把资源装进来”并执行/渲染/播放。常见对象:img、script、iframe、video、audio。

href = 建立关系或导航 → 当前元素指向另一个资源。并不一定“加载并执行资源”,而是声明一种关系或跳转。常见对象:a、link、area、base。

总结起来就是:src 是“我需要它”;href 是“它在那里”。

2、典型使用场景与对应元素案例 使用 src 的元素(真正依赖资源):

代码语言:javascript复制

对 href 则会视元素类型而定,比如:

:立即请求,并阻塞渲染。:立即高优先级请求。:不请求,等待用户点击。:延迟、低优先级请求。 总而言之,href 是关系声明,不一定马上发请求;src 则大部分情况下立即下载。

2、页面阻塞与执行 首先是 script 的三种行为,这部分主要是涉及到 defer 和 async 的执行原理和时机:

写法

下载时机

执行时机

是否阻塞 HTML

Vite 会自动将其转换为绝对路径,并自动处理 public和assets 的差异。

四、结语 src 与 href 看似只是两个普通的属性,但它们背后牵涉到浏览器解析与网络栈、脚本执行时机、性能优化、构建工具的特殊处理等内容,理解它们的底层差异,可以让你的页面加载更快、结构更语义化,代码更专业,提升“前端工程化”的实践效果。

只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~

相关推荐

2025年最全盘点:推广引流app有哪些软件可以用
det365娱乐场

2025年最全盘点:推广引流app有哪些软件可以用

📅 10-29 👁️ 287
战场助手下载2025最新电脑版
det365娱乐场

战场助手下载2025最新电脑版

📅 09-07 👁️ 779
圣诞老人简笔画画法 圣诞老人简笔画画法图片
365bet注册官网

圣诞老人简笔画画法 圣诞老人简笔画画法图片

📅 10-19 👁️ 8961