我需要为UserAgent进行空值检查吗?

5
我正在提取用户代理,代码如下:
string userAgent = HttpContext.Current.Request.UserAgent;

用户代理(UserAgent)是否有可能为空?这只可能发生在机器人或任何合法的用户/设备/客户端/浏览器吗?

1个回答

8
用户代理标头在RFC 2616中是可选的。客户端应该使用它,但不需要使用。另请参见RFC7231
引用: "5.5.3 User-Agent" “User-Agent”标头字段包含有关发起请求的用户代理的信息,服务器通常使用它来帮助确定报告的互操作性问题范围,以绕过或定制响应以避免特定用户代理限制,并且用于有关浏览器或操作系统使用情况的分析。除非明确配置不这样做,否则用户代理应在每个请求中发送一个User-Agent字段。 我认为RFC7231取代了2616,但为完整起见,我都进行了引用。
因此,是的,您应检查用户代理是否为空或空值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接