网络小白浅谈WWW

WWW(World Wide Web)万维网的发展历史:

起源与诞生:20 世纪 80 年代,互联网已具雏形,但因操作复杂、计算机系统和文件格式各异,信息难以跨平台共享。1980 年,蒂姆・伯纳斯・李在欧洲粒子物理研究所(CERN)工作时,开发了第一个高效局部存取浏览器 “Enquire”,用于数据共享浏览。1989 年 3 月 12 日,蒂姆・伯纳斯・李提交了构建信息管理系统的计划 “Information Management: A Proposal”,建议采用超文本技术把 CERN 内部的各个实验室连接起来,后获批准。

初步发展:1990 年 12 月 25 日,蒂姆・伯纳斯・李和罗伯特・卡里奥在 CERN 成功展示了基于 Web 原理的 HTTP 代理与服务器的第一次通讯。1991 年,世界上第一个浏览器 World Wide Web 诞生,同时蒂姆・伯纳斯・李还编写了第一个网页服务器 httpd。1991 年 8 月 6 日,第一个 WWW 网站上线,万维网技术开始向全世界推广。

快速普及:1993 年,美国伊利诺大学国家超级电脑应用中心发布了 Mosaic 浏览器,它能将图片直接嵌入网页,操作直观、安装简单,深受欢迎,点燃了互联网热潮。1994 年,网景公司成立,推出的 Netscape Navigator 浏览器速度更快、体验更好,迅速成为市场主导。同年,中科院高能所架设了中国第一台 WWW 服务器。

技术完善与竞争:1995 年,网景公司为让浏览器能控制网页交互行为,开发了 LiveScript 语言,后更名为 JavaScript。同年,微软发布 Internet Explorer 浏览器,开启了与网景的浏览器大战。为主导万维网联盟(W3C)的标准,微软和网景在各自浏览器里加入互不相容的 HTML 扩展代码,推动了网页技术的发展与完善。

Web 1.0 时代:大约从 1994 年开始,万维网进入 Web 1.0 时代。这一时期主要特征是大量使用静态的 HTML 网页来发布信息,用户通过浏览器获取信息,是单向的信息传递,本质是聚合、联合、搜索,代表应用为各类门户网站。

Web 2.0 时代:2004 年,O’Reilly Media 公司和 MediaLive 国际公司的头脑风暴会议开启了 Web 2.0 时代。Web 2.0 强调用户的参与、在线的网络协作、数据储存的网络化等,典型应用包括 Blog、Wiki、RSS、Tag、SNS 等,互联网从一系列网站演化成一个为最终用户提供网络应用的服务平台。

Web 3.0 时代:Web 3.0 是 Web 2.0 的进一步发展和延伸,它旨在将杂乱的微内容进行最小单位的拆分,实现微信息之间的互动和基于语义的链接,能深度挖掘信息并使其从底层数据库进行互通,提供基于语义的检索与匹配,使用户检索更加个性化、精准化和智能化。目前,Web 3.0 仍处于发展阶段。

WWW是一个集成各种信息(图像、文字、视频、音频、文件等)为一体的分布式信息服务系统,又称作Web、3W。通过超文本标记语言(HTML)组织信息,通过超链接进行跳转。

URL(Uniform Resource Locator)统一资源定位符是万维网服务上用于标记资源位置的表示方法,简称网址。其格式为:

协议类型一般是HTTP协议中的https进行加密通信。HTTP是基于TCP的应用层协议,需要经历三次握手和四次挥手建立即时通信。

使用域名时会默认调用DNS解析服务。

客户端的浏览器能够对服务器返回的HTML、JavaScript等进行渲染,得到我们常见的网页界面:当我们输入一个网址时,首先浏览器会先提取域名并进行解析(当然直接使用主机号:端口号就可以跳过这步),然后向目标主机建立连接,之后发送HTTP请求获取内容,服务器返回HTML代码后浏览器进行代码解析、资源加载、界面渲染等展示网站页面。

Read more

Spring Cloud与Dubbo架构哲学对决

Spring Cloud与Dubbo架构哲学对决

目录 摘要 🎯 开篇:别被"微服务"这个词忽悠了 🏗️ 架构哲学:两种完全不同的"世界观" 🎨 Spring Cloud:生态为王的全家桶 ⚡ Dubbo:专精RPC的特种兵 📊 性能对决:数据不说谎 🔧 核心原理:扒开看看里面啥样 🎯 Spring Cloud 2025.1.0的"虚拟线程革命" ⚡ Dubbo 3.0的Triple协议:对标gRPC 🚀 实战:从零搭建混合微服务架构 🏢 场景:电商平台(日均订单千万级) 📝 分步骤实现 步骤1:搭建Spring Cloud Gateway 步骤2:Dubbo核心服务实现 步骤3:Spring Cloud外围服务 步骤4:

By Ne0inhk
RUST异步微服务架构的最佳实践与常见反模式

RUST异步微服务架构的最佳实践与常见反模式

RUST异步微服务架构的最佳实践与常见反模式 一、项目优化前的问题分析 1.1 任务调度不合理 💡在第21篇项目中,用户同步服务的任务调度使用了Cron调度器,但Cron调度器的精度有限,可能导致任务执行延迟。此外,任务的并发度没有配置,可能导致任务积压。 1.2 I/O资源限制不足 订单处理服务的TCP连接队列大小没有配置,可能导致连接失败。数据库连接池的大小没有配置,可能导致数据库连接耗尽。 1.3 同步原语使用不当 实时监控服务中,Redis连接没有使用连接池,可能导致连接开销过大。任务结果的处理没有使用批量操作,可能导致上下文切换过多。 1.4 错误处理不完善 任务失败的处理逻辑不够完善,没有进行任务重试和错误统计。服务之间的通信没有进行超时管理和错误处理。 二、异步架构设计模式的应用 2.1 命令查询分离(CQS) CQS是一种架构设计模式,将系统的操作分为命令和查询两种类型。命令用于修改系统状态,查询用于获取系统状态,两者互不干扰。 在项目中,我们可以将用户同步任务视为命令操作,将系统状态查询视为查询操作: // 用户同步任务(

By Ne0inhk
MySQL迁金仓:高兼容+自动化,国产化迁移低成本落地实战

MySQL迁金仓:高兼容+自动化,国产化迁移低成本落地实战

目录 一、MySQL兼容性:决定迁移成本与难度的核心 1.1 协议层兼容:应用端几乎零改动,省出大量工时 1.2 语法与函数兼容:核心SQL直接复用,无需改写 1.3 数据类型与字符集兼容:贴合MySQL习惯,数据零损耗 1.4 数据库对象兼容:视图、触发器、函数直接复用,省掉隐性工作量 1.5 兼容差异注意事项:少量微调,工具自动处理 二、金仓迁移工具链(KDTS+KFS):全流程自动化,严控成本与停机时间 2.1 工具链核心:针对性解决手工迁移的核心痛点 2.2 KDTS:全量迁移自动化引擎,替代低效手工导入 2.3 KFS:增量同步+

By Ne0inhk
RUST:异步代码的测试与调试艺术

RUST:异步代码的测试与调试艺术

RUST:异步代码的测试与调试艺术 一、异步测试的本质与难点 1.1 异步测试与同步测试的区别 💡在Rust同步编程中,测试通常是顺序执行的,每个测试函数会阻塞线程直到完成,结果是确定的。而异步测试的结果可能受到任务调度、网络延迟、数据库连接等因素的影响,时序性和状态管理更加复杂。 同步测试示例: #[cfg(test)]modtests{#[test]fntest_add(){assert_eq!(1+1,2);}} 异步测试示例(使用Tokio测试宏): #[cfg(test)]modtests{usetokio::time::sleep;usestd::time::Duration;#[tokio::test]asyncfntest_async_add(){sleep(Duration::from_millis(100)).await;assert_

By Ne0inhk