```html web技术是什么 web技术是什么 你打开这个网页,看到文字、图片、排版、甚至那个橙色的小点缀——整个过程里,浏览器向一台你从未见过的电脑要了一堆文件,然后在你本地把这些文件“画”成了现在这个样子。这套“要文件、传文件、画页面”的机制,连同背后所有让网页能跑、能看、能交互的东西,就是web技术。 它不指某一门语言,也不是某个软件。更像是一套约定:怎么定位一个网页(URL),怎么传输它(HTTP),怎么描述它的样子(HTML、CSS),怎么让它动起来(JavaScript)。 1990年,蒂姆·伯纳斯-李在CERN写第一个网页时,只有三样东西:一个地址、一个传输协议、一种标记语言。那会儿网页只能显示黑字白底,图片都得另开窗口。今天你刷的短视频、用的在线文档、点的外卖页面,底层还是那三样东西在撑着,只是薄薄一层上叠了无数层。 先看一个具体场景。你在地址栏敲下 example.com,浏览器先做DNS查询,把域名换成IP地址——相当于从“张三”找到“张三的手机号”。然后向那个IP发一个HTTP请求,说“给我首页”。服务器返回一段HTML文本,浏览器从上到下读,遇到 <img> 就去下载图片,遇到 <link> 就去下载CSS,遇到 <script> 就去下载JS。全部下完,渲染引擎开始计算每个元素该出现在屏幕哪个像素上。这个过程通常几百毫秒,你感觉不到。 HTML是骨架。它说“这里是个标题,那里是个段落,再往下是个按钮”。但HTML不管标题多大、按钮什么颜色。那是CSS的事。CSS选择器像 .btn { background: orange; } 就是在说“所有class叫btn的元素,背景涂成橙色”。JS则负责行为——你点按钮弹个窗、下拉刷新、表单验证,都是JS在操作DOM(浏览器内存里那棵HTML树)。 一个容易忽略的事实:你写的HTML、CSS、JS文件本身不会“运行”。它们只是文本。是浏览器这个本地软件解析这些文本,然后调用操作系统图形接口把像素画出来。所以同一段代码在Chrome和Safari里可能长得不一样——因为两个浏览器对“怎么画”的理解有细微差别。 后端呢?也是web技术的一部分。服务器上跑着Node.js、Python、Java之类的程序,它们接收HTTP请求,查数据库,拼出一段HTML字符串发回去。或者只发JSON数据,让前端JS去渲染。现在流行的“前后端分离”,就是把“画页面”和“给数据”拆成两个独立程序,中间靠API通信。 我刚开始学的时候,以为web技术就是做网站。后来发现手机App里嵌的网页(WebView)、智能电视的界面、甚至某些车载系统,底层都是同一套东西。Electron把Chromium和Node.js打包,让Slack、VS Code这样的桌面软件也用HTML写界面。Web技术早就溢出了“浏览器”这个容器。 它有个挺特别的地方:向后兼容做得极好。1995年写的HTML页面,今天浏览器照样能显示。你加个 <marquee> 标签(早就废弃了),Chrome还会让文字滚动。这种“不破坏旧东西”的约束,让web技术堆叠了三十年的复杂度,但也让它成了最普遍的计算平台。 所以下次你右键“查看网页源代码”,看到那一坨密密麻麻的标签和花括号,别头疼。那里面每一行都在说一件事:怎么把信息从一台机器搬到另一台机器,再变成人能看懂的样子。就这么简单,也这么麻烦。 ``` |