网络空间安全(1)web应用程序的发展历程
前言
Web应用程序的发展历程是一部技术创新与社会变革交织的长卷,从简单的文档共享系统到如今复杂、交互式、数据驱动的平台,经历了多个重要阶段。
一、起源与初期发展(1989-1995年)
Web的诞生:
- 1989年,欧洲核子研究中心(CERN)的蒂姆·伯纳斯-李(Tim Berners-Lee)提出了World Wide Web(简称Web)的概念,并发明了统一资源定位符(URL)、超文本传输协议(HTTP)和超文本标记语言(HTML)这三项核心技术。
- 1990年,伯纳斯-李开发了第一个Web浏览器——WorldWideWeb(后更名为Nexus),这是集编辑器和浏览器功能于一体的程序。
- 1991年8月6日,伯纳斯-李发布了第一个网站,网址是http://info.cern.ch,这标志着Web的正式诞生。
静态网页时代:
- 1993年,Mosaic浏览器发布,这是第一个具有图形用户界面的网页浏览器,极大地提升了Web的可视化吸引力。
- 1994年,Netscape Navigator发布,迅速成为最流行的网页浏览器。
- 1995年前后,互联网开始大规模商业化,个人电脑普及,Web浏览器如Netscape Navigator和Internet Explorer竞争激烈。网站主要是静态HTML页面,内容由专业人员制作并上传到服务器,用户主要扮演被动的信息消费者角色。
二、Web 1.0时代(1995-2000年)
商业互联网的兴起:
- 电子商务网站如Amazon(1995年成立)和eBay(1995年成立)兴起,开启了在线购物的新纪元。
- 信息门户如Yahoo!(1994年创立)和Google(1998年创立)成为用户获取新闻、搜索信息的主要入口。
技术基础:
- HTML、CSS和JavaScript等前端技术成为构建网页的标准语言。
- 服务器端脚本语言如PHP、ASP和JSP被引入,使得网页可以与数据库交互,生成动态内容。
三、Web 2.0时代(2000-2010年)
交互性与动态网页:
- Web 2.0标志着互联网从静态内容向动态、交互式内容的转变。
- 新技术和框架如AJAX(Asynchronous JavaScript and XML)使得网页能够在不刷新整个页面的情况下局部更新内容,提供了更流畅的用户体验。
社交媒体与用户生成内容:
- 社交网络平台如MySpace(2003年创立)、Facebook(2004年创立)和Twitter(2006年创立)兴起,用户不再只是信息的消费者,而是成为了内容的创作者和分享者。
- 博客、维基百科、论坛和视频分享网站(如YouTube,2005年创立)推动了用户生成内容(UGC)的繁荣。
Web应用程序与富互联网应用(RIA):
- 随着Ajax、Flash和后来的HTML5等技术的发展,Web应用程序的功能和交互性显著增强,接近甚至超越了桌面应用程序。
- Web服务(如SOAP、RESTful API)的广泛应用促进了不同网站之间的数据交换和集成。
四、移动Web与响应式设计时代(2010-2015年)
智能手机与移动互联网:
- 智能手机的普及,尤其是iPhone(2007年发布)和搭载Android系统的设备(2008年发布),推动了移动Web的发展。
- 网站开始采用响应式设计,确保在不同屏幕尺寸和设备类型上提供良好的用户体验。
App Store经济与混合应用:
- 苹果的App Store(2008年推出)和谷歌的Google Play(原名Android Market,2008年推出)催生了大规模的移动应用市场。
- 技术如PhoneGap和Cordova允许开发者使用Web技术构建跨平台的“混合”移动应用。
五、Web 3.0时代(2015年至今)
开放数据与API经济:
- 开放数据运动和API经济继续深化,许多公司和政府机构公开其数据供第三方开发者使用。
- JSON成为数据交换的标准格式,而GraphQL作为一种查询语言开始受到关注。
云计算与前端框架:
- 云计算服务(如AWS、Azure、Google Cloud)的兴起降低了Web开发的门槛,提供了弹性可扩展的基础设施。
- 前端开发领域出现了React、Angular、Vue.js等现代JavaScript框架,大大提高了开发效率和应用性能。
去中心化技术与Web3.0:
- 区块链技术、加密货币(如比特币、以太坊)和分布式存储(如IPFS)的发展,推动了Web3.0的概念,主张建立一个更加去中心化、用户拥有数据主权、基于加密身份和智能合约的互联网。
- Web3.0时代的应用如去中心化应用(DApps)能够更安全和私密地进行互动。
新兴技术与应用:
- Progressive Web Apps(PWA)概念的提出,使得Web应用能够提供类似原生应用的体验,包括离线访问、推送通知、添加到主屏等功能。
- WebAssembly作为一种低级的类汇编语言,为Web带来了近乎原生的性能,支持用C/C++、Rust等语言编写高性能Web应用和游戏。
- 扩展现实(XR)与元宇宙概念的兴起,推动了Web在三维空间中的发展,未来Web可能会扩展到元宇宙中,提供更加沉浸式的用户体验。
六、未来趋势
性能提升与用户体验:
- Web的未来将继续围绕着提高性能、提升用户体验展开。
- 新兴技术如WebRTC、WebVR/AR、WebGL的应用将进一步丰富Web的功能和体验。
数据隐私与安全:
- 随着GDPR等隐私法规的实施,Web安全和用户隐私保护将更加重要。
- 去中心化技术和加密技术的应用将进一步增强Web应用的数据安全性和隐私保护。
人工智能集成:
- AI将进一步与Web融合,带来更加个性化、智能化的应用。
- 自然语言处理、机器学习等技术将提高Web应用的智能化水平。
结语
保持专注
做重要的事情
!!!

相关文章:
网络空间安全(1)web应用程序的发展历程
前言 Web应用程序的发展历程是一部技术创新与社会变革交织的长卷,从简单的文档共享系统到如今复杂、交互式、数据驱动的平台,经历了多个重要阶段。 一、起源与初期发展(1989-1995年) Web的诞生: 1989年,欧洲…...
ABAQUS功能梯度材料FGM模型
功能梯度材料(FGM)作为一种新型复合材料,通过材料内部成分或微观结构的梯度变化,优化特定性能适应复杂环境,被广泛应用于高温防护、结构优化、生物医学、光电设备等领域。本案例介绍在ABAQUS内建立功能梯度材料模型。 …...
自适应增强技术
1. 传统图像处理中的自适应增强(如CLAHE) 难度:⭐容易 实现方式:调用成熟的库(如OpenCV)函数即可完成。 示例代码(CLAHE增强): <PYTHON> import cv2# 输入灰度或彩…...
虚拟项目:一个好用的工具平台
在当今数字化的时代,虚拟项目如雨后春笋般涌现,为人们提供了诸多便捷且充满机遇的选择。以下将为大家详细介绍几种颇具特色的虚拟项目,包括书签、资源站、题库、虚拟商城、专栏、证件照以及分站搭建等,一起来了解它们各自的独特之…...
MySQL 和 Elasticsearch 之间的数据同步
MySQL 和 Elasticsearch 之间的数据同步是常见的需求,通常用于将结构化数据从关系型数据库同步到 Elasticsearch 以实现高效的全文搜索、聚合分析和实时查询。以下是几种常用的同步方案及其实现方法: 1. 应用层双写(双写模式) 原…...
PS裁剪工具
裁剪: 多张图同一标准裁剪:裁剪–》前面的图像–》选择其他图像–》 确定 选区–》裁剪工具–》确定:选区制作矩形裁剪 裁剪–》拉直 裁剪–》内容识别:当裁剪大于图片大小,会自动填充空白区域 (栅格化图层…...
[Web 安全] PHP 反序列化漏洞 —— PHP 序列化 反序列化
关注这个专栏的其他相关笔记:[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01:PHP 序列化 — Serialize 序列化就是将对象的状态信息转化为可以存储或传输的形式的过程,在 PHP 中,通常使用 serialize() 函数来完成序列化的操作…...
QT入门--QMainWindow
从上向下依次是菜单栏,工具栏,铆接部件(浮动窗口),状态栏,中心部件 菜单栏 创建菜单栏 QMenuBar* mybar1 menuBar(); 将菜单栏放到窗口中 setMenuBar(mybar1); 创建菜单 QMenu *myfilemenu mybar1-…...
C++ | 高级教程 | 信号处理
👻 概念 信号 —— 操作系统传给进程的中断,会提早终止程序有些信号不能被程序捕获,有些则可以被捕获,并基于信号采取适当的动作 信号描述SIGABRT程序的异常终止,如调用 abortSIGFPE错误的算术运算,比如除…...
最新前端框架选型对比与建议(React/Vue/Svelte/Angular)
前端框架选型对比与建议(React/Vue/Svelte/Angular) 一、核心框架技术特性对比(基于最新版本) 维度React 19 25Vue 3.5 12Svelte 5 25Angular 19 5核心理念函数式编程、JSX语法、虚拟DOM渐进式框架、组合式API、模板语法编译时框…...
游戏引擎学习第123天
仓库:https://gitee.com/mrxiao_com/2d_game_3 黑板:线程同步/通信 目标是从零开始编写一个完整的游戏。我们不使用引擎,也不依赖任何库,完全自己编写游戏所需的所有代码。我们做这个节目不仅是为了教育目的,同时也是因为编程本…...
计算机网络:从底层原理到前沿应用,解锁数字世界的连接密码
计算机网络:从底层原理到前沿应用,解锁数字世界的连接密码 在信息如洪流般奔涌的时代,计算机网络宛如无形的脉络,贯穿于我们生活的每一个角落。它不仅是数据传输的通道,更是连接全球、驱动创新的核心力量。从日常的网络…...
grafana K6压测
文章目录 install and runscript.jsoptions最佳实践 report 解析 https://grafana.com/docs/k6/latest/get-started install and run install # mac brew install k6当前目录下生成压测脚本 # create file script.js k6 new [filename] # create file ‘script.js’ in …...
Vue的组合式API和选项式API有什么区别
Vue3的组合式API(Composition API)和选项式API(Options API)是两种不同的组件编写方式,主要区别如下: 1. 代码组织方式 选项式API: 按照选项(如data、methods、computed等࿰…...
ubuntu 安全策略(等保)
windows 三个帐号屏保设置组策略,密码超时次数/审计记录; linux 应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接超时自动退出等相关措施。 1、在系统中新建测试用户,使用此用户登录时多次输入错误密码&…...
c/c++蓝桥杯经典编程题100道(22)最短路径问题
最短路径问题 ->返回c/c蓝桥杯经典编程题100道-目录 目录 最短路径问题 一、题型解释 二、例题问题描述 三、C语言实现 解法1:Dijkstra算法(正权图,难度★★) 解法2:Bellman-Ford算法(含负权边&a…...
AI工具集合
设计相关 1. mastrtgo(暂时免费) :可以根据自然语言生成UI设计稿和前端代码 MasterGo 莫高设计 - AI 时代的数字界面生产平台 2. reddy.ai(暂时免费): 国外类似mastrtgo的平台 Readdy 3. midjourney (…...
CSDN 博客:CC++ 内存管理详解
CSDN 博客:C/C 内存管理详解 在软件开发过程中,内存管理是一个非常重要的环节。对于 C 和 C 这两种编程语言,它们都拥有独特的内存管理机制,理解这些机制对于编写高效、健壮的程序至关重要。本文将详细讲解 C/C 内存管理相关的内…...
表单制作代码,登录动画背景前端模板
炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS来实现一个“表单制作代码,登录动画背景前端模板”。该素材呈现了数据符号排版显示出人形的动画效果,新颖有…...
嵌入式项目:STM32刷卡指纹智能门禁系统
本文详细介绍基于STM32的刷卡指纹智能门禁系统。 获取资料/指导答疑/技术交流/选题/帮助,请点链接: https://gitee.com/zengzhaorong/share_contact/blob/master/stm32.txt 1 系统功能 1.1 功能概述 本系统由STM32硬件端(下位机)…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...
RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
