动态网页技术的发展历史

来自编程技术交流中心(QQ群:167998652)——StarSky_STZG
本文链接: https://blog.csdn.net/weixin_43272781/article/details/102576331

诞生的历史背景

最初在浏览器中主要展现的是静态的文本或图像信息,GIF图片则第一次为HTML页面引入了动态元素。不过人们已经不仅仅满足于访问放在Web服务器上的静态文件,1993年CGI(Common Gateway Interface)出现了,Web上的动态信息服务开始蓬勃兴起。CGI定义了Web服务器与外部应用程序之间的通信接口标准,因此Web服务器可以通过CGI执行外部程序,让外部程序根据Web请求内容生成动态的内容。Perl因为跨操作系统和易于修改的特性成为CGI的主要编写语言。当然,CGI可以用任何支持标准输入输出和环境变量的语言编写,比如Shell脚本,C/C++语言,只要符合接口标准即可。比如你用C语言编写CGI程序,你把希望返回的HTML内容通过printf输出就可以发送给Web服务器,进而返回给用户。

CGI

特点

1. "交互性",即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大势所趋.

2. "自动更新",即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量.

3. "因时因人而变",即当不同的时间,不同的人访问同一网址时会产生不同的页面。

除了早期的CGI外,目前主流的动态网页技术有JSP,ASP,PHP等

分析

1.CGI(Common Gateway Interface)

在早期,动态网页技术主要采用CGI技术,即Common Gateway Interface(公用网关接口)。在早期,你可以使用不同的程序编写合适的CGI程序,如Visual Basic,Delphi或C/C++等。虽然CGI技术成熟而且功能强大,但由于编程困难,效率低下,修改复杂等缺陷,所以有逐渐被新技术取代的趋势。

可以使用不同的程序编写合适的CGI程序,如Visual Basic、Delphi或C/C++等,用户将已经写好的程序放在WEB服务器的计算机上运行,再将其运行结果通过WEB服务器传输到客户端的浏览器上。通过CGI建立WEB页面与脚本程序之间的联系,并且可以利用脚本程序来处理访问者输入的信息并据此作出响应。事实上,这样的编制方式比较困难而且效率低下,因为每一次修改程序都必须重新将CGI程序编译可执行文件

最常用于编写CGI技术的语言是Perl(Practical Extraction and Report Language,文字分析报告语言),它具有强大的字符串处理能力,特别适合用于分割处理客户端Form提交的数据串;用它来编写的程序后缀为.pl。

(1)早期动态技术使用最多,发展比较成熟并且功能强大;现在使用比较少,仍然还是有,主要用于linux/unix操作系统中

(2)效率比较低,编程比较困难

(3)可以使用不同的语言编写常用的编程语言

2.ASP(Active Server Page)

ASP为动态服务器网页(ActiveServer Page)的简称。随着Web技术的迅速发展,动态和个性化网页的比重日益增加,而传统缓存一般只适用于静态内容,难以减少获取动态网页所需的流量和延时代价。ASP更精确的说是一个中间件,这个中间件将Web上的请求转入到一个解释器中,在这个解释器中将所有的ASP的Script进行分析,再进行执行,而这时可以在这个中间件中去创建一个新的COM对象,对这个对象中的属性和方法进行操作和调用,同时再通过这些COM组件再完成更多的工作。所以说,ASP强大的不在于它的VBScript, 而在于它后台的COM组件,这些组件无限的扩充了ASP的能力。

html+javascript(vbscript)+com组件的形式asp,功能强大不在于能使用相关的脚本语言而是com组件

优点:

(1)入门容易,简单易学

(2)安装使用方便(windows+iis)

(3)效率比cgi高

缺点:

(1)功能扩展比较困难,因为asp的功能扩展在com组件,开发com组件功能扩展比较困难

(2)安全性,asp与windows和iis一起工作,windows和iis的安全漏洞会对asp产生影响

(3)跨平台性比较差,只能在windows上运行;若要在linux上运行,需要安装插件

(4)实现企业级的功能困难,大型网站很少用asp,中小型网站比较适合

3.PHP(Hypertext Preprocessor)

PHP(Hypertext Preprocessor)是一种HTML内嵌式的语言(类似于IIS上的ASP)。而PHP独特的语法混合了C、Java、Perl以及PHP式的新语法。它可以比CGI或者Perl更快速的执行动态网页。PHP是一种服务器端的HTML脚本/编程语言,语法上与C相似,可运行在Apache,Netscape/iPlanet和MicrosoftIIS Web等服务器上。

PHP能够支持诸多数据库,如MS SQL Server, MySql,Sybase,Oracle等。

它与HTML语言具有非常好的兼容性,使用者可以直接在脚本代码中加入HTML标签,或者在HTML标签中加入脚本代码从而更好地实现页面控制。PHP提供了标准的数据库接口,数据库连接方便,兼容性强;扩展性强;可以进行面向对象编程。

官网地址:www.php.net

优点:

(1)跨平台性良好,可在windows/linux/unix上运行,多种数据库支持

(2)效率比较高,具有良好的安全性

(3)免费使用

缺点:

(1)安装复杂

(2)缺少企业级的支持,是自由软件组织开发的,缺少正规的公司对其负责

4.JSP(Java Server Pages​​​​​​​)

动态网页设计中选择合理的数据传递方式是非常重要的。JSP网页间的数据传递有许多种不同的方法,而当页面之间需要传递的数据的数据量不确定时,通常的方法难以实现。

JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向Internet的所有特点。

jsp=html+java片段+jsp语法+js

优点:

(1)一次编写,到处运行

(2)良好的跨平台性,可在windows/linux/unix上运行

(3)多种开发工具支持

(4)强大的可伸缩性(jsp+javabean)的方法

缺点:

(1)jsp入门比asp难,jsp产品的复杂度高

(2)要求运行的机器配置高,因为jsp是用class常驻内存的方式运行的,效率高,需要占用更多的内存

参考文章

https://www.cnblogs.com/KSYoon/p/9349107.html

https://baike.baidu.com/item/%E5%8A%A8%E6%80%81%E7%BD%91%E9%A1%B5%E6%8A%80%E6%9C%AF/9415956?fr=aladdin

http://www.cnki.com.cn/Article/CJFDTotal-YZJY200703010.htm

https://www.tianmaying.com/tutorial/web-history

猜你喜欢

转载自blog.csdn.net/weixin_43272781/article/details/102576331