网络空间安全(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硬件端(下位机)…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...