4 ms·
The user agent header should have been dropped a long time ago, as it is one of the largest[1] sources of browser identification data. Even ignoring the tracki
by pdkl95 11y ago
The user agent header should have been dropped a long time ago, as it is one of the largest[1] sources of browser identification data.
Even ignoring the tracking problem, using the user agent string instead of feature detection has always been terrible engineering, as it assumes all browsers within a version have the same features. Browsers have always been configurable - often in extreme ways. I don't understand how anybody can simply6 pretend the preferences dialog (and extensions, etc) doesn't exist.
[1] Out of the 15.91 bits of data that Panopticlick was able to collect from my browser, 9.0 bits (56%) were from the user agent. The 2nd largest source is HTTP_ACCEPT at 4.25 bits.
- thedufer 11y ago> using the user agent string instead of feature detection has always been terrible engineering Is there a better solution for server-side feature detection?
- davb 11y agoSomething like the Accept header, listing capabilities. Or something like how Android handles capabilities in manifests.
- v413 11y agoFeature detection is not always enough. E.g. if a browser reports it has a required feature but that feature is buggy rendering it effectively unusable, then browser detection is necessary.
- immibis 11y agoBTW, feature detection can be even more identifying (although you need it anyway). IIRC my browser was completely unique at Panopticlick, most likely because I have a rare plugin installed (a handler for byond:// URLs)