ASP是一个缩写词,它的原文是Active Server Pages,中文的意思是活动服务器页面。这个名字非常精确的概括了ASP的特点。让我们来依次看看这三个英文词汇。
Active:活动的。Active是ASP的核心所在,“活动的”表明了ASP与静态网页的区别,简单来说,它可以根据各种请求信息的不同,使用某种编程语言进行逻辑判断和处理,与数据库或其他数据存储进行数据交换,返回给用户不同的信息,因此对于ASP这样的服务器端解决方案,我们又称其为“动态网页”,有些人也把它叫做“网站后台”,以区别于“前台”的静态网页。
Server:服务器。Server体现了ASP的运行环境制约。普通的HTML页面可以由用户下载至本地,并且可以不需要联网就在用户的计算机上浏览,而ASP页面则不同,ASP需要一个基于服务器的解析环境(如微软的IIS服务器)来处理,如果说“用户得到了ASP页面并打开”,那么有两种可能,第一种是用户得到了由服务器解析完毕的ASP网页内容,此时实际上用户获得的是服务器根据其请求的信息所反馈的静态HTML页面,并不是实际的ASP源代码。第二种是用户真实的下载了ASP源代码,这时如果用户想“看”这个页面的话,他就需要在自己的计算机上建立相应的服务器环境才可以。当然,一般网站是不会使得用户下载到其ASP源代码的,否则网站的信息将被泄露。
Pages:页面。Pages体现了ASP的本质,即网页。为什么要说是网页呢,网页其实体现的一个叫做B/S(Browser/Server)的体系,即浏览器/服务器体系。同时请注意我所说的网页是一个复数(pages),即,强调的是若干个页面的集合完成的任务,用比较时髦的话来讲就是网站所需要完成的工作是由各个动态网页在很好的“团队合作”下完成的,至于如何合作,我们先在这里埋下伏笔,后面会详细提到。
对上面所说的话进行一个总结,并给出一个概括的含义,即:ASP就是一个运行在特定服务器环境下解析的、可以根据用户不同请求做出不同网页的输入输出系统。
那么ASP是不是一门语言呢?非常多的网友曾经这样疑惑过。在这里我做一个分析。
网友认为ASP是编程语言的理由主要是将其和PHP、JSP等动态网站解决方案进行类比,从而得出结论。
PHP最早是1994年由Rasmus Lerdorf创建的。Rasmus Lerdorf最早的目的仅仅是用来统计他自己网站的访问者。PHP的语法混合了C、Java、Perl以及PHP自创新的语法。
而JSP则是属于Sun公司的J2EE,它使用Java语言来编写动态网页程序并编译后使用。
而这些情况在ASP中是怎样的呢?
确切地说,ASP是微软提供给希望使用动态网页的程序员的一个环境,这个环境允许编程者在服务器上的HTML页面中加入特定的代码,在访问者访问时,ASP的解析环境IIS将读取这些特定的代码,并根据其语言结构进行处理,最终返回给客户经过处理后的HTML信息。
之所以在上面提到“特定的代码”,是因为在ASP的设计原则上,可以使用任何语言来完成这些代码,但是微软的ASP解析环境—IIS默认提供了对于两种脚本语言的支持,即VBScript和JScript,VBScript是VB的一个子集,程序员可以使用在VB中已经熟知的代码,来编写ASP动态网页程序。JScript是由微软公司开发的活动脚本语言,是微软对ECMAScript规范的实现。可以这样说,VBScript是类似VB风格的程序,而JScript是类似C语言风格的程序,微软提供了对这两种风格的脚本程序编写的解析,从而使得VB程序员和C程序员都可以快速的上手ASP。
再回到我们的话题中,我们称“ASP是一个环境”,这样说其实是非常恰当的,ASP最大的特色在于通过对ActiveX组件的调用增强其原有的功能。就ASP的基本功能来讲,仅提供最基本的HTTP变量的获取和对用户信息的返回以及状态保持等这样简单的基本功能,其对于文件的I/O操作、邮件发送、图像处理都可以通过微软自带或者第三方提供的ActiveX组件来实现。
相对于PHP默认提供的对大量常用动态网页所需要使用的函数,ASP采用组件扩展的方案来解决这一问题,是不是说明ASP不如PHP呢?不是的。应该说两者各有特点。
如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛