2010-06-10 36 views
1

我正在查看使用Internet Explorer和Firefox的网站。在每个浏览器中,我选择查看源代码并在链接中查看网站的网址。这些链接在后面的代码中使用HttpContext.Current.Request.Url.Host连接在一起。但是,当我使用netcat或Burp Suite v1.3.03时,查看相同的链接,我可以看到servername而不是网站的URL。浏览器的查看源和netcat输出之间的HTTP响应差异

我的问题是 - 为什么浏览器中的查看源在页面源中显示不同于netcat或Burp Suite输出的链接?浏览器重写的东西?

我想纠正的是有一个web.config设置用于创建链接。

下一个问题 - 有谁知道配置更改,以使IIS返回的URL而不是服务器名称或我应该调用的.NET函数,而不是获取该网站运行的URL。

回答

0

请确保您在请求中发送了一个“主机”标头 - 对于所有请求,这是HTTP/1.1所必需的(这是使多宿主/虚拟网站成为可能的原因)。

+0

Netcat和Burp Suite都发送不带主机名的HTTP/1.0头,而默认情况下浏览器正在发送包含主机名集的HTTP/1.1头。 – lmingle 2010-06-17 13:36:25