1

在我的项目中,我不想向用户显示查询字符串值。对于那种情况,我在 asp.net 中使用了 URL 重写。所以我的网址如下所示。

http://localhost/test/default.aspx?id=1

http://localhost/test/general.aspx

第一个 URL 将被重写为第二个 URL,但它仍将使用该查询字符串值执行 default.aspx 页面。这工作正常。

但我的问题是,用户有什么方法可以在浏览器中找到原始 URL?

4

3 回答 3

3

答案是不。

浏览器无法知道最终服务请求的实际脚本是什么——它只知道它发送到服务器的内容(除非服务器发出重定向,但随后浏览器会向重定向目标发出新请求)。

于 2012-05-11T13:25:21.770 回答
0

由于 URL 重写需要传入请求并将其路由到不同的资源,我相信答案是肯定的。在您请求的网络流量中的某个地方,http://localhost/test/default.aspx?id=1它被重写为新的请求http://localhost/test/general.aspx

虽然这可能会隐藏原始请求,使其无法在浏览器中显示,但在某些时候它确实将原始 URL 作为 HTTP GET 发送。

按照建议,使用 Firebug 或 Fiddler 来嗅探流量。

于 2012-05-11T13:30:30.373 回答
0

我想出了我的问题的答案。我们可以很容易地找到重写后的 url。如果我们在浏览器中看到该页面的视图源,那么我们可以看到带有查询字符串值的原始 url。

于 2012-05-17T18:02:39.177 回答