สตริงตัวแทนผู้ใช้สามารถรับได้ขนาดใหญ่เพียงใด


193

ถ้าคุณจะเก็บตัวแทนผู้ใช้ไว้ในฐานข้อมูลคุณจะหาที่พักให้ใหญ่แค่ไหน?

ฉันพบบทความด้านเทคนิคนี้ซึ่งแนะนำให้รักษา UA ที่ต่ำกว่า 200 ดูเหมือนว่าจะไม่ได้รับการกำหนดไว้ในข้อกำหนด HTTP อย่างน้อยไม่พบ UA ของฉันมีอักขระอยู่ 149 ตัวและดูเหมือนว่า. NET แต่ละเวอร์ชันจะถูกเพิ่มเข้าไป

ฉันรู้ว่าฉันสามารถแยกสตริงออกและทำลายมันลง แต่ฉันไม่ต้องการ


แก้ไข
ตามบล็อกนี้IE9 จะเปลี่ยนเป็นส่งสตริง UA สั้น ๆ นี่คือการเปลี่ยนแปลงที่ดี



ฉันโพสต์คำถามนี้: stackoverflow.com/questions/17731699/…
Erx_VB.NExT.Coder

สตริง UA ของคุณคืออะไร ฉันพบสตริงที่มีอักขระ 137 ตัวในฐานข้อมูลของฉัน (ซึ่งไม่ใหญ่เกินไป)
Martin Thoma

เมื่อฉันถามคำถามนี้เมื่อห้าปีก่อนหรือมากกว่านั้น สตริง UA กำลังจะมานานพวกเขารวมของพิเศษไว้มากมาย ...
24726 JoshBerke

2
ฉันต้องถามมีคำตอบในหัวข้อนี้ยังเกี่ยวข้องหรือไม่ คำตอบส่วนใหญ่มีอายุ 8 ปี
Peschke

คำตอบ:


114

ข้อมูลจำเพาะ HTTP ไม่จำกัดความยาวของส่วนหัวเลย อย่างไรก็ตามเว็บเซิร์ฟเวอร์จะ จำกัด ขนาดส่วนหัวที่พวกเขายอมรับ413 Entity Too Largeหากมีขนาดเกิน

ขึ้นอยู่กับเว็บเซิร์ฟเวอร์และการตั้งค่าข้อ จำกัด เหล่านี้แตกต่างกันไปจาก 4KB ถึง 64KB (รวมสำหรับส่วนหัวทั้งหมด)


11
Apache จำกัดความยาวของฟิลด์สูงสุดไว้ที่ 8k ( httpd.apache.org/docs/2.2/mod/core.html#limitrequestfieldsize )
Gumbo

ฉันกังวลน้อยลงด้วยข้อ จำกัด ของเซิร์ฟเวอร์ตั้งแต่ผมบน IIS ฉันรู้ว่ามันจะไม่เคยเป็นใหญ่แล้วขีด จำกัด ของพวกเขาซึ่งยังคงเป็น preety ขนาดใหญ่ถ้าหน่วยความจำทำหน้าที่ ....
JoshBerke

6
@Josh - หน่วยความจำให้บริการคุณได้ดีบน IIS เป็นค่าเริ่มต้นที่ 16K ;-)
vartec

70

สิ่งที่ฉันทำในสิ่งนี้:

  • ใช้ตารางเฉพาะเพื่อจัดเก็บเฉพาะ UserAgents (ทำให้เป็นมาตรฐาน)
  • ในตารางที่เกี่ยวข้องของคุณให้เก็บค่าForeign Keyเพื่อชี้กลับไปยังคีย์หลักของ UserAgent ที่เพิ่มขึ้นอัตโนมัติฟิลด์
  • เก็บสตริง UserAgent ที่แท้จริงในฟิลด์ TEXTและไม่สนใจความยาว
  • มีอีกUNIQUE BINARY(32) (หรือ 64 หรือ 128 ขึ้นอยู่กับความยาวแฮชของคุณ)และแฮช UserAgent

สตริง UA บางตัวอาจยาวเกินไป สิ่งนี้จะช่วยให้คุณคลายความกังวล บังคับใช้ความยาวสูงสุดใน INSERTer ของคุณเพื่อรักษาสตริง UA ไว้ภายใต้ 4KB ถ้าไม่มีใครส่งอีเมลถึงคุณใน user-agent มันก็ไม่ควรเกินความยาวนั้น


1
ไม่ควรใช้ฟิลด์ TEXT อีกต่อไปตามที่ระบุใน MSDN: msdn.microsoft.com/en-us/library/ms187993(v=sql.90).aspxแทนให้ใช้ NVARCHAR (MAX) แทน ที่มา: stackoverflow.com/questions/564755/…
แมตต์รอย

3
ฐานข้อมูลของฉันมี 10,235 สตริงตัวแทนผู้ใช้ที่แตกต่างกัน ฉันต้องการค้นหาอัลกอริทึมแฮชที่เร็วที่สุดที่ไม่ได้สร้างการชนใด ๆ สำหรับสภาพแวดล้อม PHP ของฉันฉันพบ md5 ทำงานได้อย่างรวดเร็วที่ 2.3 วินาทีโดยไม่มีการชน ที่น่าสนใจฉันลอง crc32 และ crc32b และพวกเขาก็แสดงใน 2.3 วินาทีโดยไม่มีการชนกัน แต่เนื่องจาก md5 มีชุดค่าผสมมากกว่า crc32 และ crc32b จึงทำให้ md5 น่าจะมีการชนกันน้อยกว่า อย่างไรก็ตาม md5 เป็นตัวเลือกของฉันและฉันคาดหวังว่ามันจะทำงานได้ดี
noctufaber

2
ทำไมแฮชตัวแทนผู้ใช้? นี่สำหรับการค้นหาอย่างรวดเร็วหรือบางอย่าง?
Boom

2
@Boom การค้นหาและความเป็นเอกลักษณ์เนื่องจากคีย์เฉพาะของ DB สามารถอยู่ได้นานมาก
CodeAngry

2
@ noctufaber crc32 ไม่ใช่แฮช แต่ไม่ได้พยายามป้องกันการชน

29

สังเกตเห็นบางสิ่งเช่นนี้ในบันทึกของ Apache มันดูผิดปกติสำหรับฉัน แต่ฉันเห็นสิ่งต่าง ๆ เป็นประจำในบันทึกส่วนใหญ่มาจากระบบ Windows

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) 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) 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)


36
มีใครที่ต้องการแสดงความคิดเห็นว่าเกิดอะไรขึ้นกับตัวแทนผู้ใช้รายนี้หรือไม่ ฮ่า ๆ ฉันต้องเพิ่มฉันอยากรู้ว่าสัตว์ร้ายสามารถสร้างได้อย่างไร
Erx_VB.NExT.Coder

22
หากใครอยากรู้ นี้เป็นหนึ่งในนาฬิกาที่ 8010 ตัวอักษร ทุกคนในทีมเบราว์เซอร์คิดว่านี่เป็นความคิดที่ดีได้อย่างไร มันบ้าเหมือนกระเป๋าแมว!
หมอโจนส์

15
การตัดทอนสตริงเอเจนต์ผู้ใช้นี้เป็น 256 หรือ 512 กำจัดข้อมูลใด ๆ ที่มีประโยชน์หรือไม่?
JackAce

12
ฉันได้สังเกตบางอย่าง แต่ยังไม่ได้ผล มี642ตัวเลข ตัวเลขสี่ครั้งแรกอยู่เสมอ6, 7, หรือ8 จำนวนห้าอยู่เสมอ9 0ล่าสุดสามอยู่เสมอ603, 703, หรือ803 903บางทีบางคนอาจจำรูปแบบนั้นได้? (Half-life 3 ยืนยันแล้ว?)
meshy

น่าสนใจ ตอนนี้ฉันได้เพิ่มรหัสเพื่อตัดทอนสตริง UA เป็น 255 chars สำหรับบันทึก db ของฉัน
Deepak Thomas

28

เนื่องจากเป็นเพื่อวัตถุประสงค์ของฐานข้อมูลและไม่มีข้อ จำกัด ในทางปฏิบัติฉันควรไปที่ตาราง UserAgents ที่มี UserAgentId เป็น Int และ UserAgentString เป็น NVarChar (MAX) และใช้คีย์ต่างประเทศในตารางต้นฉบับ


20
คุณอาจจะลงเอยด้วยตัวแทนผู้ใช้ในความสัมพันธ์แบบ 1 ต่อ 1 คนกับผู้ใช้ของคุณ ตัวแทนผู้ใช้ส่วนใหญ่ได้รับการปรับแต่งโดยรายการที่ผู้ใช้ติดตั้งและในลำดับเฉพาะว่าพวกเขาเกือบจะระบุตัวบุคคล (คำตอบอื่นมีตัวอย่างที่ดีของเหตุการณ์นี้) อันที่จริงแล้ว EFF ทำการศึกษา (pdf)เกี่ยวกับเรื่องนี้
patridge

1
@patridge +1 สำหรับลิงก์เรียนดีมาก มันเป็นเรื่องเล็กน้อยเพราะพวกเขาดูลายนิ้วมือหลาย ๆ อันและไม่เพียง แต่สตริงตัวแทนของผู้ใช้ ในสถานการณ์จริงสำหรับไซต์ที่มีจำนวนการดูหน้าเว็บหลายล้านครั้งต่อเดือนคุณจะต้องจบด้วยสตริงตัวแทนของผู้ใช้สองสามพันคน กับที่กล่าวว่าฉันไม่ได้บวกมากในการจัดเก็บสายตัวแทนผู้ใช้ในฐานข้อมูล: P
Diadistis

@patridge การเชื่อมโยงไปยังการศึกษาขาดไป: การปรับปรุงลิงก์
Boris Dalstein

1
@patridge ฉันยอมรับว่าความคิดของคุณดูน่าเชื่อถือ แต่ข้อมูลของฉันไม่เห็นด้วยกับเราทั้งคู่ ฉันกำลังทำงานกับระบบประเภทนี้ในตอนนี้และฉันมี UAs ที่ไม่ซ้ำใครประมาณ 70k สำหรับผู้ใช้ 1.2 ล้านคน เหตุผลที่ฉันอยู่ในหน้านี้คือฉันเลือก 256 เป็นขีด จำกัด ในฐานข้อมูลของฉันและพบว่า 50k จาก 70k ถูกตัดทอนดังนั้นฉันจึงสูญเสียข้อมูลบางส่วน ตอนนี้ฉันจะเพิ่มมันเป็น 4k จะน่าสนใจที่จะทราบว่าจะมีจำนวนไม่ซ้ำกันหากไม่ถูกตัดทอน
Darren H

10

มันใหญ่ขนาดนี้ได้อย่างไร:

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) 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) 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) 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) 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)


15
สำหรับคะแนนนั้นคือ 1546 ตัวอักษรรวมถึงคำพูดนำหน้าและต่อท้าย
Doug Harris

6

ไม่มีข้อ จำกัด ที่ระบุไว้ จำกัด เฉพาะเซิร์ฟเวอร์ HTTP ส่วนใหญ่เท่านั้น อย่างไรก็ตามโปรดทราบว่าฉันจะใช้คอลัมน์ที่มีความยาวคงที่พอสมควร (ใช้ Google เพื่อค้นหารายชื่อตัวแทนผู้ใช้ที่รู้จักค้นหาที่ใหญ่ที่สุดและเพิ่ม 50%) และเพียงแค่ครอบตัดตัวแทนผู้ใช้ใด ๆ ที่ยาวเกินไป เอเจนต์ผู้ใช้ที่ยาวนานอาจไม่ซ้ำกันมากพอแม้เมื่อถูกตัดหรือเป็นผลมาจากข้อผิดพลาดบางอย่างหรือความพยายาม "แฮ็ค"


ดูเหมือนความยาวมาตรฐานคือ 120-150 ขึ้นอยู่กับnetworkinghowtos.com/howto/common-user-agent-list ดังนั้นฉันจะครอบตัดความยาวสูงสุดที่ 200
ยีน b

4

ฉันได้รับตัวแทนผู้ใช้วันนี้ล้นเขตข้อมูลที่เก็บของผู้ขายของเรา:

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 ตัวอักษร?

ดังนั้นควรใช้ขนาดนั้นเพิ่มเป็นสองเท่าเพิ่มเป็นสองเท่าอีกครั้งและคุณควรตั้งค่าจนกว่าข้อผิดพลาดถัดไปของ Microsoft (อาจเป็นครั้งนี้ในปีหน้า)

ไปใหญ่กว่า 1,000!


ฉันสงสัยว่า. Net CLR และ Trident ต้องทำอะไรกับ Mozilla
Gherman

3

ฉันจะให้คำตอบมาตรฐาน:

ใช้ค่าที่เป็นไปได้มากที่สุดเท่าที่คุณจะจินตนาการได้ว่าเป็นสองเท่าและนั่นคือคำตอบของคุณ


เฮ้คุณคิดว่ามันจะใหญ่ขนาดไหน?
JoshBerke

1
แน่นอนว่าฉันจะเพิ่มเป็นสองเท่า แม้ว่า 256 ดูเหมือนว่าจะเป็นจำนวนที่ดีเป็นสองเท่า
Ed Marty

4
ฉันพบว่ามันตลกเมื่อใดก็ตามที่เราไม่รู้ว่าความยาวที่ดีจะเป็นอย่างไรเมื่อเราจบด้วย 256 หรือทวีคูณของ 2
JoshBerke

3
ดี 512 ฟังดูดีที่ให้ฉันอย่างน้อย 10 ปีในการเผยแพร่. net และขยะอื่น ๆ เพื่อสะสมและจากนั้นฉันหวังว่าจะเกษียณ ขอขอบคุณอีกครั้ง
JoshBerke

1
@ Josh: "ถ้าอย่างนั้นฉันหวังว่าจะเกษียณ" ... ฉันเคยได้ยินเรื่องนี้มาก่อนที่ไหน?! ;-)
บัส

3

สมมติว่าสตริงตัวแทนผู้ใช้ไม่จำกัดความยาวและเตรียมที่จะเก็บค่าดังกล่าว อย่างที่คุณเห็นความยาวนั้นไม่แน่นอน

ใน Postgres มีประเภทข้อความที่ยอมรับสตริงที่มีความยาวไม่ จำกัด ใช้สิ่งนั้น

เป็นไปได้ว่าคุณจะต้องตัดทอนบางจุด เรียกว่าดีที่เพิ่มขึ้นมีประโยชน์พอสมควร (200, 1k, 4k) และทิ้งส่วนที่เหลือ


2

นี่คืออันที่ 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)


ฉันเห็นตัวละครมากถึง 255 ตัวบนไซต์ที่มีปริมาณการใช้งานต่ำมาก ดังนั้นไม่น่าแปลกใจ .Net 4.0 จะเพิ่มอีก 20 ตัวอักษรด้วยเช่นกัน
JoshBerke

2

ไม่ใช่ข้อบ่งชี้ว่าเอเจนต์ผู้ใช้จะได้รับขนาดใหญ่เพียงใดเนื่องจากมีคำตอบมากมายที่แสดงกรณีขอบที่พวกเขาเจอ แต่สิ่งที่ยาวที่สุดที่สามารถพบได้ในhttp://www.useragentstring.com/pages/useragentstring.php? ชื่อ = ทั้งหมดคือ 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 PC 5.0; SLCC1; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; Lunascape 6.3

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.