gpt4 book ai didi

asp.net - Request.ServerVariables ["HTTP_X_FORWARDED_FOR"] 和 Request.Headers ["X-Forwarded-For"] 之间有区别吗?

转载 作者:行者123 更新时间:2023-12-02 06:26:58 24 4
gpt4 key购买 nike

在 ASP.NET 中,它们之间有区别吗?

  1. HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]
  2. HttpContext.Current.Request.Headers["X-Forwarded-For"]

Request.Headers 对我来说更清晰,但我通常会看到使用 Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 的示例代码(以及 Request.ServerVariables["REMOTE_ADDR"]) 我不明白为什么。

最佳答案

Request.ServerVariables["HTTP_X_FORWARDED_FOR"]Request.Headers["X-Forwarded-For"] 之间没有区别。

IIS Server Variables 的文档以“HTTP_”开头表示:“存储在 header 中的值。”

因此 Request.ServerVariables["HTTP_X_FORWARDED_FOR"] 仅返回 X_Forwarded_For header 。没有别的了。

只有当您和客户端之间存在代理服务器时,HTTP_X_FORWARDED_FORREMOTE_ADDR 之间的区别才会明显。在这些情况下,REMOTE_ADDR 将具有代理服务器的地址,HTTP_X_FORWARDED_FOR 将具有最终客户端的地址。

如果没有代理,则 HTTP_X_FORWARDED_FOR 将为空,REMOTE_ADDR 将具有最终客户端的地址。

关于asp.net - Request.ServerVariables ["HTTP_X_FORWARDED_FOR"] 和 Request.Headers ["X-Forwarded-For"] 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com