用户代理字符串可以有多大?
如果你打算将一个用户代理存储在数据库中,你会得到多大的服务?
我发现这篇Technet文章建议将UA保持在200以下。它看起来不像HTTP规范中定义的那样,至少不是我发现的。 我的UA已经有149个字符了,看起来.NET的每个版本都会添加到它。
我知道我可以解析这个字符串并将其分解,但我宁愿不要。
编辑
基于此博客IE9将更改为发送短UA字符串。 这是一个很好的改变。
HTTP规范根本不限制标头的长度。 然而,网络服务器确实限制了他们接受的头部大小,如果超过413 Entity Too Large
。
根据网络服务器及其设置,这些限制从4KB到64KB(所有标题的总数)不等。
我承担这一点:
UNIQUE BINARY(32)
(或64或128,取决于你的散列长度)并散列UserAgent 一些UA字符串可能会变得非常漫长。 这应该可以避免你的后顾之忧。 还要在INSERTer中执行最大长度以保持UA字符串不超过4KB。 除非有人通过用户代理向你发送电子邮件,否则它不应该超过这个长度。
由于它是为了数据库的目的,并没有实际的限制,我会去用UserAgentId作为Int和UserAgentString作为NVarChar(MAX)UserAgentId并在原始表上使用外键。
链接地址: http://www.djcxy.com/p/71435.html