我需要使主机脱离Request对象。我应该使用哪个属性,为什么?
从MSDN:
与
我的测试是使用ASP.NET开发服务器进行的。这两个总是返回localhost
。即使当我输入127.0.0.1时,两者都返回localhost
。
继续阅读,DnsSafeHost
属性将处理IPv6地址,以及根据需要将Unicode转换为ASCII。它还可以考虑IRI和IDN。即使我目前不关心这些事情,还是应该只使用DnsSafeHost
属性来确保安全吗?
最佳答案
如果您打算自己将结果主机名发送到DNS服务器,则将DnsSafeHost应用于URL。 DNS最初是仅ASCII协议(protocol)(and a subset of ASCII at that)。当前的URL允许URL的主机部分中的字符序列,这些字符序列不能直接发送到DNS服务器。例如:
如果需要向用户显示主机名,请改用Host属性。
关于c# - 主机与DnsSafeHost,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1224587/