HTML是前端,而且是还后前端的骨架。别被那些后端工程师的前端玩笑话带偏——他们说“HTML也是一种编程语言”,然后笑着等你反驳。还后实际上,前端HTML连编程语言都算不上,还后它是前端一种标记语言,负责给浏览器里的还后内容“排版定位”。你在网页上看到的前端每个标题、每段文字、还后每张图片,前端背后都是还后HTML标签在撑场面。
我见过太多半路出家的前端学习者,第一天就纠结这个问题。还后他们打开浏览器按F12,前端看到满屏的
有个例子能直接说明问题。你去淘宝搜“机械键盘”,浏览器地址栏跳出一长串参数,商品列表瞬间渲染出来。那些商品数据存在后端数据库里,由Java或PHP接口从MySQL里捞出来。但最终呈现在你屏幕上的商品卡片、价格标签、卖家头像,全是HTML标签拼出来的。后端把数据打包成JSON,前端用JavaScript接收,再动态生成HTML塞进页面。你看,HTML是最后那个“露脸”的,后端是幕后干活的。
有人会抬杠:“那SSR(服务端渲染)怎么说?Node.js在后端写HTML模板,这不就混了吗?”没错,技术栈确实有交叉,但职责边界依然清晰。服务端渲染只是让后端提前把HTML字符串拼好再发给浏览器,本质上还是生成HTML,而不是让HTML去执行后端逻辑。就像你点外卖,厨师在后厨炒菜(后端逻辑),但装菜的餐盒(HTML)永远是送到你面前那个容器。你吃的菜,不是餐盒自己长出来的。
我自己的经验是,判断一个技术属于前端还是后端,就看它“运行在哪里”。HTML、CSS、JavaScript运行在浏览器里,用户能直接看到、右键查看源码,这是前端。PHP、Java、Python运行在服务器上,用户永远接触不到原始代码,这是后端。HTML连“运行”都谈不上,它只是被浏览器解析渲染。你写一个
标签,浏览器就显示一段文字,这个过程不需要任何服务器参与——除非你把HTML文件放在服务器上让别人访问,但那只是文件存储位置变了,HTML本身还是前端的东西。
写到这里我想起个段子:后端工程师说“我一天写了三千行代码”,前端工程师说“我一天调了三百个像素”。HTML就是那三百个像素的起点,它让你能框出一个按钮、一块区域、一张表单。没有它,后端再厉害也只是一堆黑乎乎的数据流。所以别再问HTML是前端还是后端了——下次面试官问你这个,你就反问他:“您家房子盖得再结实,窗户总得装玻璃吧?HTML就是那块玻璃,透明,但没它您就漏风。”