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

发布于 2024-07-15 09:16:51 字数 496 浏览 5 评论 0原文

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

我发现这篇 technet 文章 建议将 UA 保持在 200 以下。事实并非如此看起来这是在 HTTP 规范中定义的,至少我没有发现。 我的 UA 已经是 149 个字符,而且似乎每个版本的 .NET 都会添加它。

我知道我可以解析该字符串并将其分解,但我宁愿不这样做。


编辑
基于此博客< /a> IE9 将改为发送短 UA 字符串。 这是一个很好的改变。


If you were going to store a user agent in a database, how large would you accomdate for?

I found this technet article which recommends keeping UA under 200. It doesn't look like this is defined in the HTTP specification at least not that I found. My UA is already 149 characters, and it seems like each version of .NET will be adding to it.

I know I can parse the string out and break it down but I'd rather not.


EDIT
Based on this Blog IE9 will be changing to send the short UA string. This is a good change.


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(12

玻璃人 2024-07-22 09:16:52

这是 257 的一个

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.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)

Here is one that is 257

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.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)

醉生梦死 2024-07-22 09:16:52

任何官方标准或规范定义的用户代理字符串的大小没有严格限制。 定义HTTP协议的HTTP/1.1 RFC 2616没有指定User-Agent头字段的最大长度。

然而,实际限制可能适用,具体取决于处理用户代理字符串的特定 Web 服务器、浏览器或应用程序。 某些服务器或代理可能会对标头字段大小施加自己的限制,以防止滥用或拒绝服务攻击。 此外,过长的用户代理字符串可能会导致服务器端解析或处理出现问题。

实际上,用户代理字符串的长度可能会有所不同,但它们通常不会太长。 浏览器和用户代理字符串旨在提供有关客户端应用程序的有用信息,但又不会过于冗长。 大多数用户代理字符串都在几百个字符之内。

设计 Web 应用程序和服务来处理相当长的用户代理字符串非常重要,同时还要考虑潜在的安全和性能影响。

There is no strict limit on the size of a User-Agent string defined by any official standards or specifications. The HTTP/1.1 RFC 2616, which defines the HTTP protocol, does not specify a maximum length for the User-Agent header field.

However, practical limitations may apply depending on the specific web server, browser, or application handling the User-Agent string. Some servers or proxies may impose their own limits on header field sizes to prevent abuse or denial-of-service attacks. Additionally, excessively long User-Agent strings could potentially cause issues with parsing or handling on the server side.

In practice, User-Agent strings can vary in length, but they are typically not excessively long. Browsers and user-agent strings aim to provide useful information about the client application without being overly verbose. Most User-Agent strings are well within a few hundred characters.

It's essential to design web applications and services to handle reasonably long User-Agent strings while also considering potential security and performance implications.

荒芜了季节 2024-07-22 09:16:51

HTTP 规范根本不限制标头的长度。
然而,网络服务器确实限制了它们接受的标头大小,如果超过则抛出413 Entity Too Large

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

HTTP specification does not limit length of headers at all.
However web-servers do limit header size they accept, throwing 413 Entity Too Large if it exceeds.

Depending on web-server and their settings these limits vary from 4KB to 64KB (total for all headers).

嗫嚅 2024-07-22 09:16:51

我对此的看法:

  • 使用专用表仅存储 UserAgents(对其进行标准化)
  • 在相关表中,存储外键 值指向 UserAgent 自动递增主键 字段
  • 将实际的 UserAgent 字符串存储在 TEXT 字段 中,并且不关心长度
  • 还有另一个 UNIQUE BINARY(32) (或 64 或 128,具体取决于您的哈希长度)对 UserAgent 进行哈希

某些 UA 字符串可能会变得非常长.这应该可以免除您的后顾之忧。 还要强制执行 INSERTer 中的最大长度,以将 UA 字符串保持在 4KB 以下。 除非有人在用户代理中向您发送电子邮件,否则它不应该超过这个长度。

My take on this:

  • Use a dedicated table to store only UserAgents (normalize it)
  • In your related tables, store an Foreign Key value to point back to the UserAgent auto-increment primary key field
  • Store the actual UserAgent string in a TEXT field and care not about the length
  • Have another UNIQUE BINARY(32) (or 64, or 128 depending on your hash length) and hash the UserAgent

Some UA strings can get obscenely long. This should spare you the worries. Also enforce a maximum length in your INSERTer to keep UA strings it under 4KB. Unless someone is emailing you in the user-agent, it should not go over that length.

病女 2024-07-22 09:16:51

在我们的 apache 日志中注意到类似的内容。
对我来说这看起来很不正常,但我经常在 Windows 系统的日志中看到此类内容。

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.0;Trident/4.0;(R1
1.6); SLCC1; .NET CLR 2.0.50727; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618;
66760635803; 运行时11.00294; 876906799603; 97880703; 669602703;
9778063903; 877905603; 89670803; 96690803; 8878091903; 7879040603;
999608065603; 799808803; 6666059903; 669602102803; 888809342903;
696901603; 788907703; 887806555703; 97690214703; 66760903; 968909903;
796802422703; 8868026703; 889803611803; 898706903; 977806408603;
976900799903; 9897086903; 88780803; 798802301603; 9966008603;
66760703; 97890452603; 9789064803; 96990759803; 99960107703;
8868087903; 889801155603; 78890703; 8898070603; 89970603; 89970539603;
89970488703; 8789007603; 87890903; 877904603; 9887077703; 798804903;
97890264603; 967901703; 87890703; 97690420803; 79980706603;
9867086703; 996602846703; 87690803; 6989010903; 977809603; 666601903;
876905337803; 89670603; 89970200903; 786903603; 696901911703;
788905703; 896709803; 96890703; 998601903; 88980703; 666604769703;
978806603; 7988020803; 996608803; 788903297903; 98770043603;
899708803; 66960371603; 9669088903; 69990703; 99660519903; 97780603;
888801803; 9867071703; 79780803; 9779087603; 899708603; 66960456803;
898706824603; 78890299903; 99660703; 9768079803; 977901591603;
89670605603; 787903608603; 998607934903; 799808573903; 878909603;
979808146703; 9996088603; 797803154903; 69790603; 99660565603;
7869028603; 896707703; 97980965603; 976907191703; 88680703; 888809803;
69690903; 889805523703; 899707703; 997605035603; 89970029803;
9699094903; 877906803; 899707002703; 786905857603; 69890803;
97980051903; 997603978803; 9897097903; 66960141703; 7968077603;
977804603; 88980603; 989700803; 999607887803; 78690772803;
96990560903; 98970961603; 9996032903; 9699098703; 69890655603;
978903803; 698905066803; 977806903; 9789061703; 967903747703;
976900550903; 88980934703; 8878075803; 8977028703; 97980903;
9769006603; 786900803; 98770682703; 78790903; 878906967903;
87690399603; 99860976703; 796805703; 87990603; 968906803;
967904724603; 999606603; 988705903; 989702842603; 96790603; 99760703;
88980166703; 9799038903; 98670903; 697905248603; 7968043603; 66860703;
66860127903; 9779048903; 89670123903; 78890397703; 97890603; 87890803;
8789030603; 69990603; 88880763703; 9769000603; 96990203903;
978900405903; 7869022803; 699905422903; 97890703; 87990903; 878908703;
7998093903; 898702507603; 97780637603; 966907903; 896702603;
9769004803; 7869007903; 99660158803; 7899099603; 8977055803; 99660603;
7889080903; 66660981603; 997604603; 6969089803; 899701903; 9769072703;
666603903; 99860803; 997608803; 69790903; 88680756703; 979805677903;
9986047703; 89970803; 66660603; 96690903; 8997051603; 789901209803;
8977098903; 968900326803; 87790703; 98770024803; 697901794603;
69990803; 887805925803; 968908903; 97880603; 897709148703;
877909476903; 66760197703; 977908603; 698902703; 988706504803;
977802026603; 88680964703; 8878068703; 987705107903; 978902878703;
8898069803; 9768031703; 79680803; 79980803; 669609328703; 89870238703;
99960593903; 969904218703; 78890603; 9788000703; 69690630903;
889800982903; 988709748803; 7968052803; 99960007803; 969900800803;
668604817603; 66960903; 78790734603; 8868007703; 79780034903;
8878085903; 976907603; 89670830803; 877900903; 969904889703;
7978033903; 8987043903; 99860703; 979805903; 667603803; 976805348603;
999604127603; 97790701603; 78990342903; 98770672903; 87990253903;
9877027703; 97790803; 877901895603; 8789076903; 896708595603;
997601903; 799806903; 97690603; 87790371703; 667605603; 99760303703;
97680283803; 788902750803; 787909803; 79780603; 79880866903;
9986050903; 87890543903; 979800803; 97690179703; 876901603; 699909903;
96990192603; 878904903; 877904734903; 796801446903; 977904803;
9887044803; 797805565603; 98870789703; 7869093903; 87790727703;
797801232803; 666604803; 9778071903; 9799086703; 6969000903; 89670903;
8799075903; 897708903; 88680903; 97980362603; 97980503903;
889803256703; 88980388703; 789909376803; 69690703; 6969025903;
89970309903; 96690703; 877901847803; 968901903; 96690603; 88680607603;
7889001703; 789904761803; 976807703; 976902903; 878907889703;
9897014903; 896707046603; 696909903; 666603998903; 969902703;
79680421803; 9769075603; 798800192703; 97990903; 9689024903;
668604803; 969908671903; 9996094703; 69990642703; 97890895903;
977805619903; 79980859903; 88980443803; 98970649603; 997602703;
888802169903; 699907803; 667602028803; 786903283903; 997607703;
969909803; 798809925903; 9976045603; 97790903; 9789001903; 966903603;
9789069603; 968906603; 6989091803; 896701603; 6979059803; 978803903;
997606362603; 88980803; 98970803; 88880921703; 8997065703; 899700703;
698908703; 797801027903; 7889050903; 87890603; 78690703; 99660069703;
97980309903; 976800603; 666606803; 898707703; 79880019803;
66960250803; 7978049803; 88780602603; 79680903; 88880792703; 96990903;
667608603; 87790730903; 98970903; 9699032903; 8987004803; 88880703;
89770046603; 978800803; 969908903; 9798022603; 696901903; 799803703;
989703703; 668605903; 79780903; 998601371703; 796803339703;
87890922603; 898708903; 9966061903; 66960891903; 96790903; 8779050803;
98870858803; 976909298603; 9887029903; 669608703; 979806903;
878903803; 99960703; 9789086703; 979801803; 66960008703; 979806830803;
99760212703; 786906603; 797807603; 789907297703; 96990703; 786901603;
796807766603; 896702651603; 789902585603; 66660925903; 9986085703;
66960302703; 69890703; 789900703; 89970903; 9679060703; 9789002903;
979908821603; 986708140803; 976809828703; 7988082803; 79680997903;
99960803; 9788081903; 979805703; 787908603; 66960602803; 9887098703;
978803237703; 888806804603; 999604703; 977904703; 966904635703;
97680291703; 977809345603; 8878046703; 988709803; 976900773603;
989703903; 88780198603; 87790603; 986708703; 78890604703; 87790544803;
976809850903; 887806703; 987707527603; 79880803; 9897059603;
897709820603; 97880804803; 66960026703; 9789062803; 9867090803;
669600603; 8967087703; 78890903; 89770903; 97980703; 976802687603;
66860400803; 979901288603; 96990160903; 99860228903; 966900703;
66760603; 9689035703; 9779064703; 7968023603; 87890791903;
98770870603; 9798005803; 6969087903; 9779097903; 6979065703;
699903252603; 79780989703; 87690901803; 978905763903; 977809703;
97790369703; 899703269603; 8878012703; 78790803; 87690395603;
8888042803; 667607689903; 8977041803; 6666085603; 6999080703;
69990797803; 88680721603; 99660519803; 889807603; 87890146703;
699906325903; 89770603; 669608615903; 9779028803; 88880603; 97790703;
79780703; 97680355603; 6696024803; 78790784703; 97880329903;
9699077703; 89870803; 79680227903; 976905852703; 8997098903;
896704796703; 66860598803; 9897036703; 66960703; 9699094703;
9699008703; 97780485903; 999603179903; 89770834803; 96790445603;
79680460903; 9867009603; 89870328703; 799801035803; 989702903;
66960758903; 66860150803; 6686088603; 9877092803; 96990603; 99860603;
987703663603; 98870903; 699903325603; 87790803; 97680703; 8868030703;
9799030803; 89870703; 97680803; 9669054803; 6979097603; 987708046603;
999608603; 878904803; 998607408903; 968903903; 696900703;
977907491703; 6686033803; 669601803; 99960290603; 887809169903;
979803703; 69890903; 699901447903; 8987064903; 799800603; 98770903;
8997068703; 967903603; 66760146803; 978805087903; 697908138603;
799801603; 88780964903; 989708339903; 8967048603; 88880981603;
789909703; 796806603; 977905977603; 989700603; 97780703; 9669062603;
88980714603; 897709545903; 988701916703; 667604694903; 786905664603;
877900803; 886805490903; 89970559903; 99960531803; 7998033903;
98770803; 78890418703; 669600872803; 996605216603; 78690962703;
667604903; 996600903; 999608903; 9699083803; 787901803; 97780707603;
787905312703; 977805803; 8977033703; 97890708703; 989705521903;
978800703; 698905703; 78890376903; 878907703; 999602903; 986705903;
668602719603; 979901803; 997606903; 66760393903; 987703603;
78790338903; 96890803; 97680596803; 666601603; 977902178803;
877902803; 78790038603; 8868075703; 99960060603)

Noticed something like this in our apache logs.
It looks abnormal to me but I regularly see such things in logs mostly from Windows systems.

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; (R1
1.6); SLCC1; .NET CLR 2.0.50727; InfoPath.2; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 3.5.30729; .NET CLR 3.0.30618;
66760635803; runtime 11.00294; 876906799603; 97880703; 669602703;
9778063903; 877905603; 89670803; 96690803; 8878091903; 7879040603;
999608065603; 799808803; 6666059903; 669602102803; 888809342903;
696901603; 788907703; 887806555703; 97690214703; 66760903; 968909903;
796802422703; 8868026703; 889803611803; 898706903; 977806408603;
976900799903; 9897086903; 88780803; 798802301603; 9966008603;
66760703; 97890452603; 9789064803; 96990759803; 99960107703;
8868087903; 889801155603; 78890703; 8898070603; 89970603; 89970539603;
89970488703; 8789007603; 87890903; 877904603; 9887077703; 798804903;
97890264603; 967901703; 87890703; 97690420803; 79980706603;
9867086703; 996602846703; 87690803; 6989010903; 977809603; 666601903;
876905337803; 89670603; 89970200903; 786903603; 696901911703;
788905703; 896709803; 96890703; 998601903; 88980703; 666604769703;
978806603; 7988020803; 996608803; 788903297903; 98770043603;
899708803; 66960371603; 9669088903; 69990703; 99660519903; 97780603;
888801803; 9867071703; 79780803; 9779087603; 899708603; 66960456803;
898706824603; 78890299903; 99660703; 9768079803; 977901591603;
89670605603; 787903608603; 998607934903; 799808573903; 878909603;
979808146703; 9996088603; 797803154903; 69790603; 99660565603;
7869028603; 896707703; 97980965603; 976907191703; 88680703; 888809803;
69690903; 889805523703; 899707703; 997605035603; 89970029803;
9699094903; 877906803; 899707002703; 786905857603; 69890803;
97980051903; 997603978803; 9897097903; 66960141703; 7968077603;
977804603; 88980603; 989700803; 999607887803; 78690772803;
96990560903; 98970961603; 9996032903; 9699098703; 69890655603;
978903803; 698905066803; 977806903; 9789061703; 967903747703;
976900550903; 88980934703; 8878075803; 8977028703; 97980903;
9769006603; 786900803; 98770682703; 78790903; 878906967903;
87690399603; 99860976703; 796805703; 87990603; 968906803;
967904724603; 999606603; 988705903; 989702842603; 96790603; 99760703;
88980166703; 9799038903; 98670903; 697905248603; 7968043603; 66860703;
66860127903; 9779048903; 89670123903; 78890397703; 97890603; 87890803;
8789030603; 69990603; 88880763703; 9769000603; 96990203903;
978900405903; 7869022803; 699905422903; 97890703; 87990903; 878908703;
7998093903; 898702507603; 97780637603; 966907903; 896702603;
9769004803; 7869007903; 99660158803; 7899099603; 8977055803; 99660603;
7889080903; 66660981603; 997604603; 6969089803; 899701903; 9769072703;
666603903; 99860803; 997608803; 69790903; 88680756703; 979805677903;
9986047703; 89970803; 66660603; 96690903; 8997051603; 789901209803;
8977098903; 968900326803; 87790703; 98770024803; 697901794603;
69990803; 887805925803; 968908903; 97880603; 897709148703;
877909476903; 66760197703; 977908603; 698902703; 988706504803;
977802026603; 88680964703; 8878068703; 987705107903; 978902878703;
8898069803; 9768031703; 79680803; 79980803; 669609328703; 89870238703;
99960593903; 969904218703; 78890603; 9788000703; 69690630903;
889800982903; 988709748803; 7968052803; 99960007803; 969900800803;
668604817603; 66960903; 78790734603; 8868007703; 79780034903;
8878085903; 976907603; 89670830803; 877900903; 969904889703;
7978033903; 8987043903; 99860703; 979805903; 667603803; 976805348603;
999604127603; 97790701603; 78990342903; 98770672903; 87990253903;
9877027703; 97790803; 877901895603; 8789076903; 896708595603;
997601903; 799806903; 97690603; 87790371703; 667605603; 99760303703;
97680283803; 788902750803; 787909803; 79780603; 79880866903;
9986050903; 87890543903; 979800803; 97690179703; 876901603; 699909903;
96990192603; 878904903; 877904734903; 796801446903; 977904803;
9887044803; 797805565603; 98870789703; 7869093903; 87790727703;
797801232803; 666604803; 9778071903; 9799086703; 6969000903; 89670903;
8799075903; 897708903; 88680903; 97980362603; 97980503903;
889803256703; 88980388703; 789909376803; 69690703; 6969025903;
89970309903; 96690703; 877901847803; 968901903; 96690603; 88680607603;
7889001703; 789904761803; 976807703; 976902903; 878907889703;
9897014903; 896707046603; 696909903; 666603998903; 969902703;
79680421803; 9769075603; 798800192703; 97990903; 9689024903;
668604803; 969908671903; 9996094703; 69990642703; 97890895903;
977805619903; 79980859903; 88980443803; 98970649603; 997602703;
888802169903; 699907803; 667602028803; 786903283903; 997607703;
969909803; 798809925903; 9976045603; 97790903; 9789001903; 966903603;
9789069603; 968906603; 6989091803; 896701603; 6979059803; 978803903;
997606362603; 88980803; 98970803; 88880921703; 8997065703; 899700703;
698908703; 797801027903; 7889050903; 87890603; 78690703; 99660069703;
97980309903; 976800603; 666606803; 898707703; 79880019803;
66960250803; 7978049803; 88780602603; 79680903; 88880792703; 96990903;
667608603; 87790730903; 98970903; 9699032903; 8987004803; 88880703;
89770046603; 978800803; 969908903; 9798022603; 696901903; 799803703;
989703703; 668605903; 79780903; 998601371703; 796803339703;
87890922603; 898708903; 9966061903; 66960891903; 96790903; 8779050803;
98870858803; 976909298603; 9887029903; 669608703; 979806903;
878903803; 99960703; 9789086703; 979801803; 66960008703; 979806830803;
99760212703; 786906603; 797807603; 789907297703; 96990703; 786901603;
796807766603; 896702651603; 789902585603; 66660925903; 9986085703;
66960302703; 69890703; 789900703; 89970903; 9679060703; 9789002903;
979908821603; 986708140803; 976809828703; 7988082803; 79680997903;
99960803; 9788081903; 979805703; 787908603; 66960602803; 9887098703;
978803237703; 888806804603; 999604703; 977904703; 966904635703;
97680291703; 977809345603; 8878046703; 988709803; 976900773603;
989703903; 88780198603; 87790603; 986708703; 78890604703; 87790544803;
976809850903; 887806703; 987707527603; 79880803; 9897059603;
897709820603; 97880804803; 66960026703; 9789062803; 9867090803;
669600603; 8967087703; 78890903; 89770903; 97980703; 976802687603;
66860400803; 979901288603; 96990160903; 99860228903; 966900703;
66760603; 9689035703; 9779064703; 7968023603; 87890791903;
98770870603; 9798005803; 6969087903; 9779097903; 6979065703;
699903252603; 79780989703; 87690901803; 978905763903; 977809703;
97790369703; 899703269603; 8878012703; 78790803; 87690395603;
8888042803; 667607689903; 8977041803; 6666085603; 6999080703;
69990797803; 88680721603; 99660519803; 889807603; 87890146703;
699906325903; 89770603; 669608615903; 9779028803; 88880603; 97790703;
79780703; 97680355603; 6696024803; 78790784703; 97880329903;
9699077703; 89870803; 79680227903; 976905852703; 8997098903;
896704796703; 66860598803; 9897036703; 66960703; 9699094703;
9699008703; 97780485903; 999603179903; 89770834803; 96790445603;
79680460903; 9867009603; 89870328703; 799801035803; 989702903;
66960758903; 66860150803; 6686088603; 9877092803; 96990603; 99860603;
987703663603; 98870903; 699903325603; 87790803; 97680703; 8868030703;
9799030803; 89870703; 97680803; 9669054803; 6979097603; 987708046603;
999608603; 878904803; 998607408903; 968903903; 696900703;
977907491703; 6686033803; 669601803; 99960290603; 887809169903;
979803703; 69890903; 699901447903; 8987064903; 799800603; 98770903;
8997068703; 967903603; 66760146803; 978805087903; 697908138603;
799801603; 88780964903; 989708339903; 8967048603; 88880981603;
789909703; 796806603; 977905977603; 989700603; 97780703; 9669062603;
88980714603; 897709545903; 988701916703; 667604694903; 786905664603;
877900803; 886805490903; 89970559903; 99960531803; 7998033903;
98770803; 78890418703; 669600872803; 996605216603; 78690962703;
667604903; 996600903; 999608903; 9699083803; 787901803; 97780707603;
787905312703; 977805803; 8977033703; 97890708703; 989705521903;
978800703; 698905703; 78890376903; 878907703; 999602903; 986705903;
668602719603; 979901803; 997606903; 66760393903; 987703603;
78790338903; 96890803; 97680596803; 666601603; 977902178803;
877902803; 78790038603; 8868075703; 99960060603)

白况 2024-07-22 09:16:51

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

Since it's for database purposes and there is no practical limit i'd go for a UserAgents Table with UserAgentId as Int and UserAgentString as NVarChar(MAX) and use a foreign key on the original table.

飘然心甜 2024-07-22 09:16:51

这个大的怎么样?:

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.1;Trident/4.0;YPC
3.2.0; 搜索系统6829992239; 搜索系统9616306563; 搜索系统6017393645; 搜索系统5219240075;
搜索系统2768350104; 搜索系统6919669052;
搜索系统1986739074; 搜索系统1555480186;
搜索系统3376893470; 搜索系统9530642569;
搜索系统4877790286; 搜索系统8104932799;
搜索系统2313134663; 搜索系统1545325372;
搜索系统7742471461; 搜索系统9092363703;
搜索系统6992236221; 搜索系统3507700306;
搜索系统1129983453; 搜索系统1077927937;
搜索系统2297142691; 搜索系统7813572891;
搜索系统5668754497; 搜索系统6220295595;
搜索系统4157940963; 搜索系统7656671655;
搜索系统2865656762; 搜索系统6520604676;
搜索系统4960161466; .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;
搜索系统3507700306; 搜索系统1129983453;
搜索系统1077927937; 搜索系统2297142691;
搜索系统7813572891; 搜索系统5668754497;
搜索系统6220295595; 搜索系统4157940963;
搜索系统7656671655; 搜索系统2865656762;
搜索系统6520604676; 搜索系统4960161466; .NET CLR
3.0.4506.2152; .NET CLR 3.5.30729)

How's this for big?:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; YPC
3.2.0; SearchSystem6829992239; SearchSystem9616306563; SearchSystem6017393645; SearchSystem5219240075;
SearchSystem2768350104; SearchSystem6919669052;
SearchSystem1986739074; SearchSystem1555480186;
SearchSystem3376893470; SearchSystem9530642569;
SearchSystem4877790286; SearchSystem8104932799;
SearchSystem2313134663; SearchSystem1545325372;
SearchSystem7742471461; SearchSystem9092363703;
SearchSystem6992236221; SearchSystem3507700306;
SearchSystem1129983453; SearchSystem1077927937;
SearchSystem2297142691; SearchSystem7813572891;
SearchSystem5668754497; SearchSystem6220295595;
SearchSystem4157940963; SearchSystem7656671655;
SearchSystem2865656762; SearchSystem6520604676;
SearchSystem4960161466; .NET CLR 1.1.4322; .NET CLR 2.0.50727; Hotbar
10.2.232.0; SearchSystem9616306563; SearchSystem6017393645; SearchSystem5219240075; SearchSystem2768350104;
SearchSystem6919669052; SearchSystem1986739074;
SearchSystem1555480186; SearchSystem3376893470;
SearchSystem9530642569; SearchSystem4877790286;
SearchSystem8104932799; SearchSystem2313134663;
SearchSystem1545325372; SearchSystem7742471461;
SearchSystem9092363703; SearchSystem6992236221;
SearchSystem3507700306; SearchSystem1129983453;
SearchSystem1077927937; SearchSystem2297142691;
SearchSystem7813572891; SearchSystem5668754497;
SearchSystem6220295595; SearchSystem4157940963;
SearchSystem7656671655; SearchSystem2865656762;
SearchSystem6520604676; SearchSystem4960161466; .NET CLR
3.0.4506.2152; .NET CLR 3.5.30729)

你的呼吸 2024-07-22 09:16:51

没有规定的限制,只有大多数 HTTP 服务器的限制。 然而,请记住这一点,我会实现一个具有合理固定长度的列(使用 Google 查找已知用户代理的列表,找到最大的并添加 50%),然后裁剪任何太长的用户代理 - 任何异常的用户代理即使被裁剪,长用户代理也可能足够独特,或者是某种错误或“黑客”尝试的结果。

There is no stated limit, only the limit of most HTTP servers. Keeping that in mind however, I would implement a column with a reasonable fixed length (use Google to find a list of known user agents, find the largest and add 50%), and just crop any user agent that is too long - any exceptionally long user agent is probably unique enough even when cropped, or is the result of some kind of bug or "hack" attempt.

愿得七秒忆 2024-07-22 09:16:51

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

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 5.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!

I got this user agent today, overflowing our vendor's storage field:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.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)

Ridiculous! 229 chars?

So take that size, double it, double it again, and you should be set until Microsoft's next blunder (maybe this time next year).

Go bigger than 1000!

梦萦几度 2024-07-22 09:16:51

假设用户代理字符串的长度没有限制并准备存储这样的值。 正如您所见,长度是不可预测的。

在 Postgres 中,有一个 text 类型,它接受无限长度的字符串。 用那个。

但最有可能的是,您必须在某个时刻开始截断。 以合理有用的增量(200、1k、4k)称其为良好,并丢弃其余的。

Assume the user agent string has no limit on its length and prepare to store such a value. As you've seen, length is unpredictable.

In Postgres, there's a text type that accepts strings of unlimited length. Use that.

Most likely though, you'll have to start truncating at some point. Call it good at a reasonably useful increment (200, 1k, 4k) and throw away the rest.

夜吻♂芭芘 2024-07-22 09:16:51

并不表明用户代理可以达到多大,因为有很多答案显示了他们遇到的边缘情况,但可以在 http://www.useragentstring.com/pages/useragentstring.php?name=All 为 250 字节。

Mozilla/4.0(兼容;MSIE 8.0;Windows NT 6.1;Trident/4.0;SLCC2;.NET CLR 2.0.50727;.NET CLR 3.5.30729;.NET CLR 3.0.30729;Media Center PC 6.0;Media Center电脑5.0;OfficeLivePatch.1.3;

Not an indication of how big a user agent can get, as there's plenty of answers showing the edge cases they've came across, but the longest that could find on http://www.useragentstring.com/pages/useragentstring.php?name=All was 250 bytes.

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Media Center PC 5.0; SLCC1; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Lunascape 6.3.

甜扑 2024-07-22 09:16:51

我会给你标准答案:

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

I'll give you the standard answer:

Take the largest possible value you can possibly imagine it being, double it, and that's your answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文