On Fri, 31 Mar 2000, Jason Murphy wrote:
> I remember that SlashCode (The ModPerl scripts that run Slashdot.org) has a
> big listing of HTTP_USER_AGENT's in it. You might want to head over to
> www.slashcode.com and get SlashCode and find it in there. Its a small
> download.
I still think that's missing an important point:
YOU CAN'T HAVE a canonical listing of HTTP_USER_AGENT values, because NO
SUCH ANIMAL exists :) All HTTP_USER_AGENT is is a string supplied by the
client, and as long as the client follows the spec for what the string is
supposed to look like [ Client/Version (param; param; ... param) ] then it
is a valid response. I've written client scripts before that supplied
values like "HungrySalmon/1.0" for HTTP_USER_AGENT. Nor can you trust it:
it's a simple matter of editing one string table inside Netscape to change
it (even easier than replacing the "traveling N"; IIRC, Netscape's
"customization" kit for corp. clients even supports it directly), and if
the agent is a client script, it's even easier to spoof (Exercise for the
reader: write an HTTP client script using LWP that reports its user agent
as "Navigator/3.04"; no, I don't want to see it when you're done -- I
didn't collect homework when I did teach, I'm not going to start now *g*)
in your own widgets.
At one point I was involved with a project to collect the HTTP_USER_AGENT
strings reported by spiders, and associating them with the search engine
they belonged to, so that the "most appropriate" set of meta-information
for that particular search engine could be returned... and it wasn't that
long of a list. So you can get probably 99% of the information you want
fairly easily, but I still wouldn't trust it.
Incidentally, if you either use the (deprecated) Agent_Log directive or
used the "combined" logfile format, you can extract a list of
HTTP_USER_AGENT strings from your own server logs :) And now, you know
not to be alarmed when you find your site being visited by someone using
"FlailingJellyfish/5.7" :)
************************************************************
Jeff D. "Spud (Zeppelin)" Almeida
Windsor, CT
[EMAIL PROTECTED]