Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 用户代理字符串可以有多大?_Http_Database Design_Http Headers_User Agent - Fatal编程技术网

Http 用户代理字符串可以有多大?

Http 用户代理字符串可以有多大?,http,database-design,http-headers,user-agent,Http,Database Design,Http Headers,User Agent,如果要在数据库中存储用户代理,您可以容纳多大的用户代理 我发现这建议将UA控制在200以下。这看起来不像HTTP规范中定义的,至少我发现不是这样。我的UA已经有149个字符了,似乎每个版本的.NET都会添加到其中 我知道我可以解析字符串并将其分解,但我不想这样 编辑 基于此,IE9将更改为发送短UA字符串。这是一个很好的变化 我给你一个标准答案: 取你能想象的最大值,加倍,这就是你的答案。我给你一个标准答案: 取你能想象到的最大值,加倍,这就是你的答案。因为它是用于数据库的,没有实际限制,所以

如果要在数据库中存储用户代理,您可以容纳多大的用户代理

我发现这建议将UA控制在200以下。这看起来不像HTTP规范中定义的,至少我发现不是这样。我的UA已经有149个字符了,似乎每个版本的.NET都会添加到其中

我知道我可以解析字符串并将其分解,但我不想这样


编辑
基于此,IE9将更改为发送短UA字符串。这是一个很好的变化



我给你一个标准答案:


取你能想象的最大值,加倍,这就是你的答案。

我给你一个标准答案:


取你能想象到的最大值,加倍,这就是你的答案。

因为它是用于数据库的,没有实际限制,所以我选择UserAgentId为Int,UserAgentString为NVarChar(MAX)的UserAgents表并在原始表上使用外键。

因为它是用于数据库目的,并且没有实际限制,所以我选择UserAgentId为Int,UserAgentString为NVarChar(MAX)的UserAgents表,并在原始表上使用外键。

HTTP规范根本不限制头的长度。 然而,web服务器确实限制了它们所接受的头大小,如果超过,就会抛出太大的
413实体


根据web服务器及其设置,这些限制从4KB到64KB不等(所有头的总大小)。

HTTP规范根本不限制头的长度。 然而,web服务器确实限制了它们所接受的头大小,如果超过,就会抛出太大的
413实体


根据web服务器及其设置,这些限制从4KB到64KB不等(所有头的总大小)。

没有规定的限制,只有大多数HTTP服务器的限制。但是,记住这一点,我会实现一个具有合理固定长度的列(使用谷歌查找已知用户代理列表,找到最大的并添加50%),然后裁剪任何过长的用户代理-任何超长的用户代理可能在裁剪时都是唯一的,或者是某种bug或“黑客”的结果尝试。

没有规定的限制,只有大多数HTTP服务器的限制。但是,记住这一点,我会实现一个具有合理固定长度的列(使用谷歌查找已知用户代理列表,找到最大的并添加50%),然后裁剪任何过长的用户代理-任何超长的用户代理可能在裁剪时都是唯一的,或者是某种bug或“黑客”的结果尝试。

我今天得到了这个用户代理,溢出了我们供应商的存储字段:

Mozilla/4.0(兼容;MSIE8.0;WindowsNT5.1;Trident/4.0;GTB6; .NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30;MDDR; OfficeLiveConnector.1.3;OfficeLivePatch.0.0;.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

可笑!229个字符

所以,就拿那个尺寸,加倍,再加倍,你应该被设置到微软的下一个错误(也许明年这个时候)


超过1000

我今天得到了这个用户代理,溢出了我们供应商的存储字段:

Mozilla/4.0(兼容;MSIE8.0;WindowsNT5.1;Trident/4.0;GTB6; .NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30;MDDR; OfficeLiveConnector.1.3;OfficeLivePatch.0.0;.NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

可笑!229个字符

所以,就拿那个尺寸,加倍,再加倍,你应该被设置到微软的下一个错误(也许明年这个时候)


超过1000

这里有一个是257

Mozilla/4.0(兼容;MSIE8.0;WindowsNT5.1;Trident/4.0;GTB6; .NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30; InfoPath.2;.NET CLR 3.0.04506.648;OfficeLiveConnector.1.3; OfficeLivePatch.0.0;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)


这里有一个是257

Mozilla/4.0(兼容;MSIE8.0;WindowsNT5.1;Trident/4.0;GTB6; .NET CLR 1.1.4322;.NET CLR 2.0.50727;.NET CLR 3.0.04506.30; InfoPath.2;.NET CLR 3.0.04506.648;OfficeLiveConnector.1.3; OfficeLivePatch.0.0;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)

这对大人物来说怎么样

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;YPC 3.2.0;搜索系统682999239;搜索系统9616306563;搜索系统6017393645;搜索系统5219240075; 搜索系统2768350104;搜索系统6919669052; 搜索系统1986739074;搜索系统1555480186; 搜索系统3376893470;搜索系统9530642569; 搜索系统4877790286;搜索系统8104932799; 搜索系统2313134663;搜索系统1545325372; 搜索系统7742471461;搜索系统9092363703; 搜索系统6992236221;搜索系统350770306; 搜索系统1129983453;搜索系统1077927937; 搜索系统2297142691;搜索系统7813572891; 搜索系统5668754497;搜索系统6220295595; 搜索系统4157940963;搜索系统7656671655; 搜索系统28656762;搜索系统6520604676; SearchSystem4960161466;.NET CLR 1.1.4322;.NET CLR 2.0.50727;热栏 10.2.232.0;搜索系统9616306563;搜索系统6017393645;搜索系统5219240075;搜索系统2768350104; 搜索系统6919669052;搜索系统1986739074; 搜索系统1555480186;搜索系统3376893470; 搜索系统9530642569;搜索系统4877790286; 搜索系统8104932799;搜索系统2313134663; 搜索系统1545325372;搜索系统7742471461; 搜索系统9092363703;搜索系统6992236221; 搜索系统350770306;搜索系统1129983453; 搜索系统1077927937;搜索系统2297142691; 搜索系统7813572891;搜索系统5668754497; 搜索系统6220295595;搜索系统4157940963; 搜索系统7656671655;搜索系统2865656762; SearchSystem6520604676;SearchSystem4960161466;.NET CLR 3.0.4506.2152;.NET CLR 3.5.30729)

怎么样