.asp和.aspx

Anonim

ASP 是一个Web开发框架,支持不同的模型,如Classic ASP,ASP.NET Web Forms,ASP.NET MVC,ASP.NET Web Pages,ASP.NET API和ASP.NET Core。

ASP和ASP.NET是在Web服务器上执行代码的服务器端技术。

Active Server Pages(ASP)由Microsoft开发,与包含脚本和嵌入式媒体的HTML页面相同,然后在Web服务器上处理,在过去(使用Classic ASP),它仅部署在Microsoft环境中。

Active Server Pages具有文件扩展名 的.asp (对于经典ASP)或 .aspx(适用于ASP.NET)

当Web用户通过调用ASP或ASP.NET页面发起请求时,Web服务器会处理该请求 Active Server Pages 并且脚本引擎生成向Web用户显示回(即时)的内容。 ASP 适用于任何支持HTML的浏览器(输出为HTML)。

Active Server Pages 通过运行呈现基于Web的应用程序的前端 的ActiveX 插入到网页中的脚本和组件。

ActiveX类似于Java Applets,它使用面向对象的技术让程序员更容易地开发强大的动态Web应用程序。这些脚本和组件打包为可重用的ActiveX控件,可由不同的程序员和程序共享。

ASP.NET于2002年首次发布.NET Framework 1.0 ,并取代了经典ASP,它在1996年至2000年间发布了三个版本。

Classic ASP的最新版本于2000年11月发布,作为IIS 5.0的ASP 3.0,并且在2020年之前仍然由Microsoft正式支持。

它可能是一个 经典 但ASP仍然是动态网页的强大方法。

经典ASP

ASP最初是一个附加功能 Microsoft IIS(Internet信息服务器)然而,随着Windows Server 2000的发布,它成为IIS的永久免费组件。

Microsoft Internet Information Services是Microsoft的可自定义和模块化Web服务器引擎,支持HTTP,HTTPS,FTP,FTPS,SMTP和NNTP协议。

作为Microsoft的第一个动态网页服务器端脚本语言,Classic ASP(.asp)只能在Microsoft平台上运行,因为使用了两种语言,VBScript和JScript。当时,Microsoft没有为其他编程语言提供本机支持。

VBScript实际上是为Internet Explorer浏览器设计的,并且仅限于其脚本功能中的功能,并且仅在Internet Explorer和Netscape浏览器上支持JScript。

.NET Framework

微软的.NET Framework[i]是开发人员构建动态网站,Web应用程序和Web服务的环境。

它是一个提供大型类库的软件框架(环境)( 框架类库 - FCL 并支持多种语言,允许框架处理用其他语言编写的代码。

.NET程序在a中执行 公共语言运行时(CLR) 环境,所以实质上FCL和CLR构成了.NET Framework。

.NET在过去15年中发布了累积更新和子组件,提供了一个稳定且广泛实施的Web平台,该平台不再是Microsoft环境所独有的。

尽管ASP.NET版本与IIS版本紧密并行,但它可以在其他框架(如Spring.NET(Java框架))上开发。

从ASP迁移到ASPX

的.aspx 更换 的.asp,鼓励开发人员专注于使用事件驱动的GUI模型设计应用程序,而不是使用ASP(和PHP)进行Web脚本编写。与ASP不同,PHP仍然在积极开发,而ASP正在被ASP.NET取代。

有一个广泛的增强功能列表可以激励决定迁移,很少有理由不这样做 - 让我们看看一些激励因素:

  • ASP.NET是编译代码,它在开发阶段使用早期错误检测运行得更快。此外,错误处理从ASP显着改善。
  • NET可以缓存整个网页(或仅部分),这对性能有显着改善 - 如果内容已经坐在那里等待再次调用,加载页面要快得多。
  • NET有 会议国 保存输入的数据,在某些情况下,必须在线跟踪活动或任务(例如,捕获时间表或在线购物),甚至只记住登录详细信息。
  • 从ASP.NET 4.6开始,Windows 10上有HTTP / 2 [ii]支持.HTTP / 2是HTTP的修订版 - 我们所知道的Web协议。速度和性能被认为是切换到HTTP / 2的驱动因素。
  • NET提供了广泛的控件和类库,以及用户定义的控件,这些控件使用可视化编辑器进行布局。
  • NET通过卸载和重新加载应用程序来处理内存泄漏。
  • 由于生成的代码显示回Web用户并未始终根据W3C / ECMA标准进行验证,因此从ASP.NET 2.0进行了改进以解决标准合规问题。

非Microsoft平台上的ASP.NET

ASP.NET和Apache

是mod_mono Apache模块在Apache Web Server上运行ASP.NET应用程序,并管理应用程序与承载ASP.NET应用程序的外部Mono进程之间的请求。这个外部主机是XSP模块的一部分,称为 MOD-单服务器.

ASP.NET和XSP

XSP是用C#开发的,是一个运行ASP.NET应用程序的独立Web服务器。它有自己的页面和控件库,用于测试服务器和ASP.NET应用程序。

ASP.NET与Nginx

ASP.NET可以托管在Nginx(引擎X)上,它是一个HTTP服务器和支持ASP.NET和ASP.NET MVC Web应用程序的高性能反向代理。

ASP.NET的未来

业界预计ASP.NET 5将成为ASP.NET的下一个主要开发项目,但是,微软已经停止了积极的开发工作 ASP.NET核心 代替。

ASP.NET Core是一个开源的跨平台框架,用于开发和部署基于云的应用程序。在ASP.NET Core中开发的应用程序可以在Windows,Mac和Linux上运行。

ASP.NET仍然是企业的首选方法,因为它是一个具有广泛支持和可维护性的安全平台;然而随着MVC,Azure,Signal R等的发展,.NET平台将需要不断发展以接受新技术。