3 ms·
Everyone knows it's so easy to migrate a HTTP header that has been in use since basically forever (in internet time). It'll never be possible to completely chan
by capableweb 5y ago
Everyone knows it's so easy to migrate a HTTP header that has been in use since basically forever (in internet time). It'll never be possible to completely change it to something else, just imagine all the software that assumes that header to be there.
And for in-browser stuff (via JS), you already have an alternative that works perfectly fine, `window.navigator`, that looks something like this:
{
"permissions": {},
"mimeTypes": {},
"plugins": {},
"doNotTrack": "unspecified",
"maxTouchPoints": 0,
"mediaCapabilities": {},
"oscpu": "Linux x86_64",
"vendor": "",
"vendorSub": "",
"productSub": "20100101",
"cookieEnabled": true,
"buildID": "20181001000000",
"mediaDevices": {},
"serviceWorker": {},
"credentials": {},
"clipboard": {},
"mediaSession": {},
"webdriver": false,
"hardwareConcurrency": 8,
"geolocation": {},
"appCodeName": "Mozilla",
"appName": "Netscape",
"appVersion": "5.0 (X11)",
"platform": "Linux x86_64",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0",
"product": "Gecko",
"language": "en-US",
"languages": [
"en-US",
"en"
],
"locks": {},
"onLine": true,
"storage": {}
}
Or is there something else you're missing from window.navigator?
- olex 5y agoLooking at this, the actually useful information is still heavily obscured and hides in the same "userAgent" string - the "Firefox/97.0" at the end. One would expect this information to be in appName, appCodeName and appVersion by semantics - but those fields are useless, arguably misleading, with "Netscape" having seized to exist a long time ago.
- littlestymaar 5y ago"appName": "Netscape", "appVersion": "5.0 (X11)", So, without checking the user agent string, window.navigator basically tells me that this browser is Netscape 5.0. How is that helpful?
- thealig 5y agothink there should be a separate 'browserVersion' field that is numeric which should be checked. then again, browsers are such complex beasts with multiple components mixed and matched together by different vendors, it would be great to have separate user agent component fields for those.