15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > Web 的演化历史1

Web 的演化历史1

时间:2023-09-05 11:12:01 | 来源:网站运营

时间:2023-09-05 11:12:01 来源:网站运营

Web 的演化历史1:



本文是测试进阶社群的 python 测试开发篇第一节,总章节编号 22.010,完整教程请加入社群后查看。测试开发篇主要讲测试开发人员需要理解的web开发知识。另有python基础篇(已完结),接口测试篇(已完结)和测试理论篇(理论篇尚未完结)。




在接口测试篇中,我们已经认识了接口,并能使用简单的脚本来调用一些接口。我们还搭建了测试框架并在项目实战中把待测的http接口封装成了本地python接口。通过调用这些自己封装的本地接口来实现了接口测试的自动化:







这里体现了把表示业务逻辑的http接口先做封装再做组合的设计思想。这也是接口测试的主要设计思想。但是,在学习接口测试篇时,我们对HTTP API的理解仍然停留于表面,不够深入。正所谓知其然而不知其所以然。为了深入其中,我们必须从web开发开始。同时,我们的学习目标并不是去做专职的web开发人员。因此,本篇的学习将会继续遵循“最简单”的原则来进行。但,即使是最简单的web开发学习,我们仍力求麻雀虽小,却五脏俱全。

Web 的演化历史

静态网页时代:最早在上个世纪90年代初期,web网站就是展示一些html文件。后来这种类型的web仍然一直存在,我们叫他为静态网页。访问静态网页时,客户端的浏览器向服务端发送一个Get请求,等待服务端返回html文件,并展示在浏览器上。这个过程非常简单。




CGI时代:在1993年,动态网页出现了。动态网页起始于 CGI(Common Gateway Interface), CGI 定义了客户端与服务端的交互协议。首先我们引入应用程序(application,缩写app)的概念。客户端应该是运行在一台电脑上的客户端app,服务端也是运行在一台电脑上的服务端app,这两台电脑上的两个app,依照网络通信协议来完成信息的交互。







那么接下来的问题就是,当数据从客户端发送给服务端之后,服务端怎么去处理这个数据呢。实际上,在服务端运行着一个独立的业务处理app,这是一个运行在服务器本地的应用程序,例如,linux服务器上的一个正在运行的应用程序。当服务端app收到请求后,它按照CGI定义的方式(cgi定义了三种传递数据的方式,感兴趣的读者请自行搜索)把数据传递给这个业务处理app(按约定好的方式传递数据,这就是协议,虽然他和网络协议不同,但他们也有相通之处。)。当业务处理app处理完服务端app给他的数据之后,他会把结果返回给服务端app,服务端app再把这个结果返回给客户端app。




这里,业务处理app就是CGI应用程序。服务端app就是俗称web server(web服务器)的一种应用软件。而客户端app就指的是浏览器(这样这整个就是B/S browser/server架构)。这里我们注意到CGI应用程序是运行在服务端的电脑上的普通的应用程序。(这台电脑我们也称为服务器,注意其代表物理机器,和上面提过的代表特定的应用程序的web server的区别。)CGI应用程序唯一的特别之处就是它要能够按照CGI协议规定来处理输入输出。因此,它由什么语言编写基本都可以。写CGI程序可以用c,c++,python,perl,甚至shell等等,总之不管他用什么语言,现在基本都已经淘汰了,国内只有个别厂商还在使用CGI。另外,CGI时代主要的计算工作都是在服务器端的CGI程序上完成的,客户端拿到的就是计算好的HTML了。这个时候的html可是要用print命令一点一点在服务端数据处理app里print出来的,可想而知有多难写了。

PHP/ASP/JSP(web编程脚本语言)时代

1994年就有PHP了,这里开始出现了页面模板的概念。这里我们假设它仍然用CGI的方式运行以便于理解。

1.首先预先准备好html文件,然后在其中放入一些特定的占位符号。

2.服务端app调用业务处理app。

3.业务处理app进行计算,但这次不再由他计算整个页面应该返回的html了,而是只计算其中的关键数据。比如电子商务网站中,客户端app请求显示购物车,那么这里业务处理app就是去计算购物车里有哪些商品。这里的“计算”包括读取数据库、做数学计算、做字符串处理等等,是广义上的计算。

4.业务处理app读取对应的html文件,注意这个文件中有一些第一步放进去的占位符号。这个文件也叫html页面模板。

5.在4的html模板中,用3的计算结果替换1的占位符号。得到完整html。

6.把这个html返回给服务端app。




且不说服务端的业务处理app的运行方式后来在这个时代发生了变化(也就是web server变成了类似于中间件的东西,业务处理app运行于webserver之上,而不再直接运行在操作系统上。以后章节还会细讲。),这里的页面模板技术一直沿用至今仍在使用,并且在python语言里也有页面模板。主流的flask,django等框架都支持以页面模板形式开发web页面。这个时代数据库技术加 web编程脚本语言就可以做电子商务网站等很多互动性强的网站了。另外,这里提到的页面模板技术,后面的章节会带大家亲手写一遍。













本文首发于测试进阶付费社群的荔枝微课直播间,

完整的测试开发教程正在我的荔枝微课直播间火热更新中,

扫码即可加入。付费请在微信端。2020年8月1日之前费用为168元/年。之后为218元/年。也支持以永久形式独立购买专栏。

关于付费社群的课程由任何问题请联系我微信89507288



关键词:历史,演化

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭