ASP是Web开发的框架,支持不同的模型,如经典ASP,ASP.NET Web Forms,ASP.NET MVC,ASP.NET Web Pages,ASP.NET API和 ASP.NET Core。ASP 和 ASP.NET 是在 Web 服务器上执行代码的服务器端技术。

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

活动服务器页面具有文件扩展名.asp(对于经典ASP)或.aspx(对于 ASP.NET)。当 Web 用户发起请求时,通过调用 ASP 或 ASP.NET 页,Web 服务器将处理活动服务器页,脚本引擎会生成(即时)显示给 Web 用户的内容。 ASP 适用于任何支持 HTML 的浏览器(因为输出是 HTML)。

活动服务器页面通过运行插入到网页中的 ActiveX 脚本和组件来呈现基于 Web 的应用程序的前端。

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

ASP.NET 于 2002 年在 .NET Framework 1.0 中首次发布,并取代了 Classic ASP,后者在 1996 年至 2000 年间发布了三个版本。

经典 ASP 的最新版本于 2000 年 11 月作为 IIS 5.0 的 ASP 3.0 发布,直到 2020 年仍由 Microsoft 正式支持。

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

经典ASP

ASP最初是Microsoft IIS(Internet Information Server)的附加功能,但是,随着Windows Server 2000的发布,它成为IIS的永久和免费组件。

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

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

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

.NET框架

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

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

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

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

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

从 ASP 迁移到 ASPX

随着.aspx取代.asp,鼓励开发人员专注于使用事件驱动的GUI模型设计应用程序,而不是使用ASP(和PHP)编写Web脚本。 PHP仍在积极开发中,不像ASP,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 通过卸载和重新加载应用程序来处理内存泄漏。
  • 从 ASP.NET 2.0开始进行了改进,以解决标准合规性问题,因为显示回Web用户的生成代码未始终根据W3C/ECMA标准进行验证。

非微软平台上的 ASP.NET

ASP.NET 和 Apache

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

ASP.NET 和 XSP

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

与Nginx ASP.NET

ASP.NET 可以托管在Nginx(引擎X)上,Nginx是一个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平台将需要不断发展以采用新技术。

.asp和.aspx的区别

本文由网友:鲍寻巧 投稿 欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:.asp和.aspx的区别
本文链接:https://www.vsdiffer.com/vs/asp-vs-aspx.html
免责声明:以上内容仅代表 网友:鲍寻巧 个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。