2

在查看由 .ASP 生成的页面的源代码(我是菜鸟)时,我有时会看到通过 WebResource.axd?d= 引用的源代码,后面跟着一个非常长且不可读的字母和数字字符串。我会猜测并说它是一个指向库中脚本(基于我看到的脚本标签)的指针?

<script src="/Portal/WebResource.axd?d=amy4Qb3YKPApQh4cMI21MoSwRmquuliNIlSx7bF7geaDZ56xwuLIPLkQdH_fNIrpB_hHiKLdv041_WJ1yWe27HSI4a5Spexg3Tg9fHZd33Q1&amp;t=634666000000418502" type="text/javascript"></script>

我接近了吗?这个字符串是如何生成的?是系统自动创建的吗?例如,作为开发人员,如果我键入<script src="/folder/myscript.js">WebResource 是否会在服务器端将其转换为这个长字符串并以这种方式返回,也许是为了安全?

4

1 回答 1

2

WebResource.axd 实际上是一个HTTP 处理程序,用于从程序集中加载嵌入式资源。它是AssemblyResourceLoader处理程序,并在Config\web.config您正在使用的框架版本的文件中定义。这是定义:

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />

请参阅文章WebResource.axd 在哪里?了解更多信息。文章摘录如下。

答案是 WebResource.axd。WebResource.axd 是一个 HTTP 处理程序,它是 .NET 框架的一部分,它只做一件事 - 它的任务是从 DLL 中获取嵌入式资源并返回其内容。通过查询字符串指定要转到的 DLL 和要采用的嵌入式资源。例如,对 www.yoursite.com/WebResource.axd?d=EqSMS...&t=63421... 的请求可能会返回嵌入在特定程序集中的特定 JavaScript 片段。d 查询字符串参数包含指定要返回的程序集和资源的加密信息;t querystring 参数是一个时间戳,用于仅允许在特定时间窗口内使用该 URL 对该资源进行请求。

于 2012-12-15T14:31:24.857 回答