{"id":216,"date":"2011-06-30T15:33:24","date_gmt":"2011-06-30T13:33:24","guid":{"rendered":"https:\/\/sgaul.de\/?p=216"},"modified":"2014-03-13T21:34:55","modified_gmt":"2014-03-13T20:34:55","slug":"bot-erkennungs-dienst-die-nachste-stufe","status":"publish","type":"post","link":"https:\/\/sgaul.de\/2011\/06\/30\/bot-erkennungs-dienst-die-nachste-stufe\/","title":{"rendered":"User-Agent-Erkennungsdienst: Die n\u00e4chste Stufe"},"content":{"rendered":"
In meinen Ausf\u00fchrungen \u00fcber einen Web-Dienst zur Erkennung von Bots und Browsern fehlt noch ein wesentlicher Teil: Die Verarbeitung gro\u00dfer Anfragen. Will man etwa die Besucherzusammensetzung eines ganzen Monats untersuchen, kommen auch bei mittleren Webprojekten schnell deutlich mehr als 10 000 Anfragen<\/strong> zusammen. Wird jede davon einzeln \u00fcber netzwerktransparent verschickt<\/strong>, muss man sich schnell von der Idee einer Echtzeitanwendung verabschieden. Ich m\u00f6chte daher kurz zwei Ans\u00e4tze erl\u00e4utern, um den Netzwerk-Overhead zu verringern<\/strong>.<\/p>\n Diese Idee ist relativ simpel: Statt einer Get-Anfrage an den User-Agent-Identifikationsserver wird eine Post-Anfrage<\/strong> gestellt, in der gleich mehrere UA-Strings<\/strong> geschickt werden. Der Server kann nun mehrere Strings auswerten und in einem Schritt verschicken.<\/p>\n So l\u00e4sst sich der Netzwerk-Overhead sehr leicht linear reduzieren<\/strong>. Werden etwa in einer Anfrage gleich 100 Strings abgefragt, wird schlie\u00dflich nur noch ein Hundertstel der Anfragen ben\u00f6tigt.<\/p>\n Diese Methode ist sehr leicht zu implementieren und au\u00dferdem wirkungsvoll. Dennoch werde ich vorerst auf den zweiten Ansatz fokussieren:<\/p>\n Diese Idee reduziert den Netzwerkverkehr noch drastischer. Idealerweise werden mit nur einer Anfrage beliebig viele User-Agents analysiert. Die Idee: Statt die User-Agent-Strings zum Server zu schicken, um sie dort analysieren zu lassen, holt sich der Client eine Liste bekannter Bots und Browser<\/strong> in Form der vorgestellten Objekte und pr\u00fcft selber, welcher String zu welchem Objekt passt<\/strong>.<\/p>\n Nebenbei garantiert dieser Ansatz, dass der Server nicht \u00fcberm\u00e4\u00dfig belastet wird.<\/p>\n Zudem ben\u00f6tigt die Software m\u00f6glichst bald einen Namen, um \u00f6ffentliche Funktionen mit Pr\u00e4fixen versehen zu k\u00f6nnen. Eine wirkliche Idee habe ich leider noch nicht, denke aber, dass sich das Projekt in die MGVmedia-Warnem\u00fcnde-Familie<\/strong> eingliedern wird. Daher wird auch hier wieder ein w<\/strong> als Pr\u00e4fix dienen.<\/p>\n","protected":false},"excerpt":{"rendered":" In meinen Ausf\u00fchrungen \u00fcber einen Web-Dienst zur Erkennung von Bots und Browsern fehlt noch ein wesentlicher Teil: Die Verarbeitung gro\u00dfer Anfragen. Will man etwa die Besucherzusammensetzung eines ganzen Monats untersuchen, kommen auch bei mittleren Webprojekten schnell deutlich mehr als 10 000 Anfragen zusammen. Wird jede davon einzeln \u00fcber netzwerktransparent verschickt, muss man sich schnell von… User-Agent-Erkennungsdienst: Die n\u00e4chste Stufe<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":231,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[91],"tags":[41],"_links":{"self":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/216"}],"collection":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/comments?post=216"}],"version-history":[{"count":3,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/216\/revisions"}],"predecessor-version":[{"id":232,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/posts\/216\/revisions\/232"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/media\/231"}],"wp:attachment":[{"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/media?parent=216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/categories?post=216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sgaul.de\/wp-json\/wp\/v2\/tags?post=216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}Anfragen effizienter gestalten<\/h2>\n
1. Mehr User-Agents pro Anfrage<\/h3>\n
2. Test-Algorithmen auf dem Client machen<\/h3>\n
Einen Namen finden<\/h2>\n