Web技术演化过程简单介绍

小白想入门Web安全的学习笔记01

这是我参考的一篇dalao的学习笔记

Web技术演化过程

  1. 静态页面阶段
  2. 多媒体阶段
  3. CGI阶段
  4. Ajax阶段
  5. MVC阶段
  6. RESTful阶段
  7. 分布式阶段
  8. 云服务阶段
  9. 微服务阶段
  10. CI/CD阶段
  11. API网关阶段

按这位dalao的学习笔记来说
Web技术的演化 有11个阶段
那么我们就慢慢地啃dalao的笔记先

先简单介绍上面11个阶段

一 静态页面
1网站主要内容是静态的
2内容由文字和图片组成
3制作和表现形式以表格为主
4大多站点托管在ISP上
5用户行为基本只是浏览网页

(ISP:ISP(Internet Service Provider)即因特网服务提供商,能提供拨号上网服务、网上浏览、下载文件、收发电子邮件等服务,是网络最终用户进入Internet的入口和桥梁。

二 多媒体
1音频 视频 flash等多媒体技术让网页更加生动形象
2网页上的交互也给用户带来了更好的体验

多媒体(英语:Multimedia)是多种媒体的综合,一般包括文本,声音和图像等多种媒体形式。
在计算机系统中,多媒体指组合两种或两种以上媒体的一种人机交互式信息交流和传播媒体。使用的媒体包括文字、图片、照片、声音、动画和影片,以及程式所提供的互动功能。

三 CGI
1让外部程序可以根据Web请求内容生成动态内容

多媒体已经不能满足人们的请求
所以CGI应运而生

(Common Gateway Interface)
定义了Web服务器与外部应用程序之间的通信接口标准,因此Web服务器可以通过CGI执行外部程序,让外部程序根据Web请求内容生成动态的内容。

四 Ajax
1在不重新加载整个网页的情况下,即可对网页进行更新。

在开始的时候,用户提交整个表单后才能获取结果 用户体验不好

表单在网页中主要负责数据采集功能。
一个表单有三个基本组成部分:
表单标签
表单域
表单按钮

于是Ajax技术流行了起来

(Asynchronous Javascript And XML)它使得应用在不更新整个页面的前提下也可以获得或更新数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。

五 MVC
1代码复用性和组织性更好
2Web应用的配置性和灵活性也越来越好
3数据访问也逐渐通过面向对象的方式来替代直接的SQL访问
出现了ORM的概念

Object Relation Mapping)
ORM方法论基于三个核心原则:
简单——以最基本的形式建模数据;
传达性——数据库结构被任何人都能理解的语言文档化;
精确性——基于数据模型创建正确标准化的结构。

随着Web应用开发越来越标准化,出现了MVC等思想。
(类似的设计思想还有MVP,MVVM等)

(Model/View/Control)
Model用于封装数据和数据处理方法
视图View是数据的HTML展现
控制器Controller负责响应请求 协调Model和View。

六 RESTful
CGI的时候 前后端没有严格区分
随着解耦和需求增加 前后端概念逐渐清晰
此时,REST(Representation State Transformation)逐渐成为一种流行的Web架构风格。

REST鼓励基于URL来组织系统功能,充分利用HTTP本身的语义,而不是仅仅将HTTP作为一种远程数据传输协议。一般RESTful有以下的特征:
1域名和主域名分开
2带有版本控制
3使用URL定位资源
4用 HTTP 动词描述操作
5正确使用状态码
RESTFUL特点包括:
1、每一个URI代表1种资源;
2、客户端使用GET、POST、PUT、DELETE4个表示操作方式的动词对服务端资源进行操作:GET用来获取资源,POST用来新建资源(也可以用于更新资源),PUT用来更新资源,DELETE用来删除资源;
3、通过操作资源的表现形式来操作资源;
4、资源的表现形式是XML或者HTML;
5、客户端与服务端之间的交互在请求之间是无状态的,从客户端到服务端的每个请求都必须包含理解请求所必需的信息。

资源:
服务器端,应用程序状态和功能可以分为各种资源。
资源是一个有趣的概念实体,它向客户端公开。
资源的例子有:应用程序对象、数据库记录、算法等等。
每个资源都使用 URI (Universal Resource Identifier) 得到一个唯一的地址。
所有资源都共享统一的接口,以便在客户端和服务器之间传输状态。使用的是标准的 HTTP 方法,比如 GET、PUT、POST和DELETE。Hypermedia是应用程序状态的引擎,资源表示通过超链接互联。

七 分布式
随着数据量的不断提高,单台设备难以承载这样的访问量,于是出现了提高业务复用及整合的分布式服务框架(RPC)。

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。
RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。
RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

八 云服务
云计算诞生之前,大部分计算资源是处于“裸金属”状态的物理机,运维人员选择对应规格的硬件,建设机房的 IDC 网络,完成服务的提供,投入硬件基础建设和维护的成本很高。

IDC(Internet Data Center),即互联网数据中心,可以为用户提供包括:申请域名、租用虚拟主机空间、主机托管等服务。

云服务出现之后,使用者可以直接购买云主机,基础设施由供应商管理,这种方式也被称作 IaaS(Infrastructure-as-a-Service)。

iaas(Infrastructure as a Service,基础设施即服务)
是指把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的一种服务模式。
普通用户不用自己构建一个数据中心,而是通过租用的方式,利用Internet从Iaas服务提供商获得计算机基础设施服务。

Serverless架构
Serverless 架构由两部分组成
1 Faas(Function-as-a-Service)
2 BaaS(Backend-as-a-Service)

FaaS是运行平台,用户上传需要执行的逻辑函数如一些定时任务、数据处理任务等到云函数平台,配置执行条件触发器、路由等等,就可以通过云平台完成函数的执行。
BaaS包含了后端服务组件,它基于 API 完成第三方服务,主要是数据库、对象存储、消息队列、日志服务等等。

九 微服务
微服务架构风格是一种通过一套小型服务来开发单个应用的方法,每个服务运行在自己的进程中,并通过轻量级的机制进行通讯(HTTP API)。
微服务是一种应用于组件设计和部署架构的软件架构风格。它利用模块化的方式组合出复杂的大型应用程序:

1各个服务功能内聚,实现与接口分离。
2各个服务高度自治、相互解耦,可以独立进行部署、版本控制和容量伸缩。
3各个服务之间通过 API 的方式进行通信。
4各个服务拥有独立的状态,并且只能通过服务本身来对其进行访问。

== 十 CI/CD==
1更快地创建用户喜欢的高质量应用程序并且能够不断改进它们
2CI的好处 软件开发过程中使用CI时
会有更快的速度、更好的稳定性和更强的可靠性
3CD的好处是
能够加快应用程序的上市时间。
使用CD的公司能大大增加他们的应用程序发行频率

持续集成(CI,Continuous Integration)是让开发人员将工作集成到共享分支中的过程。频繁的集成有助于解决隔离,减少每次提交的大小,以降低合并冲突的可能性。
持续交付(CD,Continuous Deployment)是持续集成的扩展,它将构建从集成测试套件部署到预生产环境。这使得它可以直接在类生产环境中评估每个构建,因此开发人员可以在无需增加任何工作量的情况下,验证bug修复或者测试新特性。

十一. API网关

API网关是一个服务器,客户端只需要使用简单的访问方式,统一访问API网关,由API网关来代理对后端服务的访问,同时由于服务治理特性统一放到API网关上面,服务治理特性的变更可以做到对客户端透明,一定程度上实现了服务治理等基础特性和业务服务的解耦,服务治理特性的升级也比较容易实现。

API
1API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户调用。
API包括基本信息、前后端的请求路径和参数以及请求相关协议。

2API分组
API分组是同一种业务API的集合,一个API分组可视为一种服务(如征信查询服务)。API开发者以API分组为单位,管理分组内的所有API。

3环境
环境定义了API生命周期管理过程中的不同状态,API可以被发布到不同的自定义环境中。

4流量控制
流量控制支持从用户、应用和时间段等维度限制对API的调用次数,保护后端服务。

5应用
应用(APP)定义了一个API调用者的身份。可以将一个API授权给多个应用,也可以将多个API授权给同一个应用。

功能:

1API生命周期管理
包括API的创建、发布、下线和删除等生命周期管理功能。

2调试工具
使用页面调试工具验证API的连通。

3流量控制
用于管控API的请求频率、用户的请求频率和应用的请求频率。
流量控制的时间单位可以是秒、分钟、小时或天。
允许设置特殊的应用。

4监控告警
监控API请求次数、API调用延迟和API错误信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值