在我的项目中,我不想向用户显示查询字符串值。对于那种情况,我在asp.net中使用了URL重写。所以我的网址如下所示。
http://localhost/test/default.aspx?id=1
到
http://localhost/test/general.aspx
第一个URL将重写为第二个URL,但它仍然会执行带有该查询字符串值的default.aspx页面。这工作正常。
但我的问题是,用户是否可以在浏览器中找到原始网址?
答案 0 :(得分:3)
答案是否定的。
浏览器无法分辨哪些实际脚本最终为请求提供服务 - 它只知道它发送给服务器的内容(除非服务器发出重定向,但浏览器会向重定向目标发出新请求)。
答案 1 :(得分:0)
由于URL重写接收传入请求并将其路由到不同的资源,我相信答案是肯定的。在您的网络流量中,您要求http://localhost/test/default.aspx?id=1
并将其重写为新请求http://localhost/test/general.aspx
。
虽然这可能会隐藏原始请求在浏览器中显示,但在某些时候它确实将原始URL作为HTTP GET发送。
根据建议,使用Firebug或Fiddler嗅探流量。
答案 2 :(得分:0)
我想到了我的问题的答案。我们可以很容易地找到重写的网址。如果我们在浏览器中看到该页面的视图源,那么我们可以看到具有查询字符串值的原始URL。