ASP的工作原理是啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP的工作原理是啥?相关的知识,希望对你有一定的参考价值。

早期的IIS版本包括一个称做Internet Database Connector(IDC)的工具,IDC可以从数据库中接受和存储数据,你仍然可以利用IDC做这种工作,但是显然ASP可以做的更好。从这个意义上,IIS和其他的Web Server没有什么区别,任何Web Server的主要作用都是支持静态html主页,理解其对HTML的支持过程如下步骤所列。1.作为一个用户首先是在浏览器的地址栏中添上要访问的主页地址并回车触发这个申请。2.浏览器将申请发送到诸如IIS的Web Server上。3.Web Server接收这些申请并根据.cfm或.cfml的后缀名意识到这是HTML文件。4.Web Server从当前硬盘或内存中读取正确的HTML文件然后将它送回用户浏览器。5.cfmL文件将会被用户的浏览器解释并将结果显示在用户浏览器上。当然,这种过程可能会更加复杂一些,(例如,Form中的内容以及查询字串的传递)。在大多数情况下,对于各种典型的Web Server来说,这种过程是按部就班的,Web Server接收文件申请并从内存或者硬盘中读取正确的文件。ASP改变了这一切,在IIS仍然支持静HTML主页的前提下,利用ASP可以根据用户要求在Web Server上建立新的主页。为了便于理解它和支持静态主页的区别,我们将它分成以下步骤:1.一个用户在浏览器的网址栏中添入ASP文件名称,并回车触发这个ASP的申请。2.浏览器将这个ASP的求发送给IIS3.Web Server接收这个申请要求并由于其.asp的后缀意识到这是个ASP要求。4.Web Server从硬盘或者内存中接收正确的ASP文件。5.Web Server将这个文件发送到一个叫做ASP.DLL特定文件中。6.ASP文件将会从头至尾被执行并根据命令要求生成响应的静态主页。7.cfmL主页将被送回浏览器8.cfmL主页将会被用户浏览器解释执行并显示在用户浏览器上说道这里,举个例子吧:如果你已经安装好了PWS/IIS,那么我们可以首先做一个实验,首先可以浏览你本机的IP下的一个*.HTM文件: http://127.0.0.1/test/test.htm   然后再把这个文件复制一个成test.asp,然后再浏览 http://127.0.0.1/test/test.asp你会发现浏览的结果是完全一样的.所以说ASP并没有丢掉HTML,而只是在其中加入一些"特殊语句".  如果浏览器向IIS/PWS请求的是.HTM文件,那么IIS/PWS会直接把文件的内容传给浏览器.但如果浏览器向IIS/PWS请求的是.ASP文件,则IIS/PWS会首先解释文件.  IS/PWS解释.ASP文件的过程中,遇到HTML标记或一般文字时会直接把读区的内容传给浏览器.但如果遇到<% %>的标记,则会把其中的内容视为程序,然后解释执行,但程序经过IIS/PWS解释执行后,其源程序代码不会传给浏览器,而只是把可显示的运行结果传给了浏览器. 参考技术A 什么是ASP?
  Active Server Pages(ASP,活动服务器页面)就是一个编程环境,在其中,可以混合使用HTML、脚本语言以及组件来创建服务器端功能强大的Internet应用程序。
如果你以前创建过一个站点,其中混合了HTML、脚本语言以及组件,你就可以在其中加入ASP程序代码。通过在HTML页面中加入脚本命令,你可以创建一个HTML用户界面,并且,还可以通过使用组件包含一些商业逻辑规则。组件可以被脚本程序调用,也可以由其他的组件调用。
  ASP的工作原理:
  当在Web站点中融入ASP功能后,将发生以下事情:
  1、用户调出站点内容,默认页面的扩展名是.asp。
  2、浏览器从服务器上请求ASP文件。
  3、服务器端脚本开始运行ASP。
  4、ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。
  5、页面信息发送到浏览器。
  因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容。
参考技术B 1.用户调出站点内容,默认页面的扩展名是asp。

2.浏览器从服务器上请求ASP文件。

3.服务器端脚本开始运行ASP。

4.ASP文件按照从上到下的顺序开始处理,执行脚本命令,执行HTML页面内容。

5.页面信息发送到浏览器。
参考技术C  因为脚本是在服务器端运行的,所以Web服务器完成所有处理后,将标准的HTML页面送往浏览器。这意味着,ASP只能在可以支持的服务器上运行。让脚本驻留在服务器端的另外一个益处是:用户不可能看到原始脚本程序的代码,用户看到的,仅仅是最终产生的HTML内容 参考技术D 没看完

哈士奇的工作原理是啥?

【中文标题】哈士奇的工作原理是啥?【英文标题】:How husky works?哈士奇的工作原理是什么? 【发布时间】:2019-12-09 08:49:32 【问题描述】:

https://github.com/typicode/husky 能够自动运行 git 挂钩,以便在自己的存储库中的团队之间共享它们。

这怎么可能?由于钩子需要在.git/hooks 中,它没有添加到存储库中。

它是否包装git 命令并拦截命令,并在它们发生时运行钩子?

我想在不需要依赖 npm 或 node 的情况下为 python 和 php 项目重现这种行为。

【问题讨论】:

你看过源代码吗?我不是 javascript 专家,但在我看来,husky 会在您安装钩子时安装它。 我正在尝试。在github.com/typicode/husky/blob/… 似乎在上面的链接中复制了createHook 的钩子。这似乎发生在npm install 时间而不是git clone。如果我想让它在 python 或 php 项目上运行,我需要在 pip 包或 composer 包中使用类似的东西 【参考方案1】:

从版本 5 开始,husky 准确地说是使用 git 的 core.hooksPath git config core.hooksPath .husky。这是在husky install 步骤中完成的。

由于husky install 创建的.husky 文件夹包含pre-commit 脚本,因此它将在提交之前运行。 默认情况下,它会包含npm test,但您可以根据自己的意愿对其进行编辑。

你可以在任何项目中做类似的事情。只需在其中添加 .githooks 文件夹和挂钩文件(检查 .git/hooks 以获取示例文件)。但是您必须在克隆存储库(或第一次设置挂钩)时运行git config core.hooksPath .githooks。您可以使用一些初始化脚本来执行此操作。npm 具有 scripts.prepare,它可以在 npm install(在本例中为 husky install)上运行命令。

【讨论】:

【参考方案2】:

在安装 husky 依赖项时(通过npm installnpm add huskyyarn install、...)在 .git/hooks 目录中创建/更新 git 挂钩。如果挂钩是通过 git 命令触发的,则会触发来自 husky 的脚本,该脚本将根据您用于安装的包管理器执行命令。如果你使用 npm npx --no-install husky-run $hookName "$gitParams" 会被执行。该命令查看您的配置并执行为钩子定义的命令。

它就像 git hooks 的代理。代理安装一次,每次都由普通的 git 钩子执行。如果它被执行,它会查看配置并执行其中定义的命令。

【讨论】:

感谢您的回答。这很有趣,安装东西会运行任意代码,这是一个潜在的安全风险。我问是因为我试图用纯 git 重现这种行为,但这是不可能的。最后我找不到在克隆时将钩子复制到 .git/hooks 的方法,所以我将它们放在自述文件中并让用户手动安装它。再次感谢 @geckos:是的,存在一定的安全风险。但话又说回来:检查和构建 any 软件存在潜在的安全风险,因为几乎所有构建系统都允许执行任意外部命令(即任意代码执行)。所以无论如何你都不应该构建不受信任的软件。

以上是关于ASP的工作原理是啥?的主要内容,如果未能解决你的问题,请参考以下文章

请简述ASP工作原理

4G模块,wifi模块是啥,工作原理是啥

Sqoop工作原理是啥?

JDBC的工作原理是啥?

HTTP协议工作原理是啥 HTTP协议工作原理介绍【详解】

JAVA三框架工作原理是啥?