知识回顾之一:WEB编程语言发展回顾...

WEB编程语言发展回顾…

    今日学习python,学到Django框架,觉得有必要暂时停下来,回顾一下计算机编程及WEB编程的发展。
    从世界上第一台计算机ENIAC开始,计算机软件开发经历了从“服务器/瘦客户”到“个人计算机”再到“客户端/服务器(C/S)”再到WEB以及目前的“浏览器/服务器(B/S)”、分布式计算大数据等等。
    到今天为止,还能回忆起Apple II上的小乌龟爬出圆形时的新奇,当年在VAX上打出第一条纸带时的激动,听到8086第一声开机蜂鸣时的兴奋,以及上世纪90年代,第一次听到Modem拨号的声音并通过Netscape浏览器看到长城外面的世界时的震惊。
    那时候的计算机应用,除了特定领域(如科学计算、气象、军事等,需要进行服务器级别的分布式计算),都是需要拿到一个大小不等的安装包,在自己的电脑上(个人计算机)上安装后再运行。再后来出现的客户服务器结构(B/S)的应用,例如各种MIS/ERP,虽然数据库和业务逻辑运行在服务器上,但客户端电脑还是要安装特定开发的应用才能和服务器进行数据交换完成业务流程。
    互联网和WEB的出现,World Wide WEB,初期的WEB,是静态的,也就是说,客户浏览器经由HTTP协议,通过URL访问特定网站所得到的回馈网页,其内容都是固定的,就像是买一本纸质书,如果有错误,只能等下一次再版时改正。那时的网页是由HTML语言写成的。
在这里插入图片描述
    后来,随着客户需求的发展,例如,对动态网页的需求出现,例如图书馆系统,读者希望能及时看到书记的更新、库存、借阅状态等信息,也就是说,希望网页能和业务逻辑及数据库结合起来,出现了对B/S应用的需求,相应地编程开发语言和通信标准协议也发展壮大。

  •     静态HTML之后是CGI:Common Gateway Interface ,CGI定义了WEB服务器与外部应用之间的通信标准(外部应用,就是在客户端或服务器端,独立于WEB服务器运行的应用程序),WEB服务器可以通过CGI协议执行外部应用,实现与数据库的交互,完成业务逻辑。这时的典型语言是Perl,但CGI + Perl的模式存在两个弊病:
    • 性能不好,每个请求分配一个新的进程;
    • 不太安全,直接使用文件系统或者环境变量。
      在这里插入图片描述
  • CGI之后,出现了一个全新的时期,即将WEB服务器和业务模型完全分开,以Microsoft的技术来说,就是IIS + ASP,IIS构建WEB服务器,ASP构建业务模型,这时期主要的编程语言有PHP/ASP/JSP。我个人认为,这种模式 + DHTML是现如今框架模式的技术基础。DHTML(Dynamic HTML)包括两个部分,一是静态内容(称为模版),二是动态内容(CSS,JavaScript),动态内容通过“标记”嵌入在静态内容中,并由WEB服务器根据业务流程处理结果填充,再返回给客户端浏览器。
        这时,主要的WEB编程语言,或者说三大阵营分别是是Sun公司的JSP、Microsoft的系列语言(VB,VC及后来的.Net等等)和PHP。
        先说Java、JavaScript和JSP。JAVA,Sun公司提出,和C++类似是一种桌面型的语言,虽然Java不是编译型语言,但也只要面向开发桌面型应用,虽然也可以开发WEB程序,但Java的WEB程序主要以applet存在,类似于Microsoft的ActiveX组件。JavaScript,Netscape公司提出的,是一种解释型脚本语言,以源码形式存在于HTML文件中,由浏览器解释执行。JSP,即Java Server Pages,顾名思义,是运行在服务器端的,我的理解,JSP和Microsoft的ASP一样,就是符合Java语言规范的Serverlet技术。
        无论是JSP、ASP,存在的问题是:
    • 对客户端有要求,例如,ASP或使用ActiveX技术开发的一些WEB应用,在第三方浏览器,如Firefox、Safari就无法运行,正如现在仍然存在的许多网银,在IE之外无法运行。
    • 一旦有恶意代码嵌入到动态网页中,会造成客户端崩溃,这也就是原来很多地方禁用JS的原因。
      在这里插入图片描述
  • 第三阶段,标志性的节点是2005年Ajax的出现。AJAX允许客户端的JavaScript脚本为局部页面提供请求服务,然后可以在无需回到服务器情况下动态刷新部分页面,这种突破性的“文档对象模型DOM(Document Object Model)”创造了“前后端”分层架构,
  • 2007年,Rails框架的出现,首次提出了框架的概念。
       > 2007年,37signals公司那个基于Ruby on Rails 5分钟构建博客的演示完全征服了全世界的开发者。一夜之间,所以谈论的焦点都是关于Rails!Rails的不同之处在于使用规定的方式(框架)去设计你的web应用程序,这种模式就叫做模式(数据)-视图(模板)-控制器(业务逻辑)。
    在这里插入图片描述
    【完】
    2018年12月20日
    参考材料
        Web开发的发展史—Web开发技术的演变
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steventian72

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值