UA文字列、長くなるほどHTTPリクエストヘッダが大きくなるという問題がある
「IEにはあのバグがあるから〜」はIEを弾くという形で実現されている場合もあるので、Edgeはその手の判定に使われるMSIEという文字列がサヨナラしてしまった
Mozilla→多分IEが強くなる前の時代(「Netscapeならあの機能を提供しよう」)の遺産
Gecko→多分IEとMozillaの二極だった時代(「IEにはあのバグがあるからMozillaならあの機能を提供しよう」)の遺産
WebKit→近年のもの
KHTML→多分祖先への敬意か何か(これで特別に分岐するサイトそんなに沢山ある……?)
古いWebサーバーの設定の奥底にMozillaかどうかでKeep-Aliveするかどうか決めるとかその手の項目が残ってるからMozillaを名乗らなくなるとWebが壊れる可能性がある
Firefoxも今ではGecko/YYYYMMDDが20100101で固定されてしまった
例
Mozilla/5.0(1) (Windows NT 10.0; Win64; x64) AppleWebKit/537.36(2) (KHTML(3), like Gecko(4)) Chrome/64.0.3282.189(5) Safari/537.36(6) Vivaldi/1.95.1077.55(7)
(1)現代ブラウザはなぜか皆Mozillaを詐称している。
(2)WebKitベース
(3)これLinuxのKDE由来だって知ってた?
(4)Gecko(Mozillaのエンジン)みたいなもんやでって言われても...
(5)Google Chromeのコードを使っている
(6)けどその由来上Safariも名乗り
(7)そしてこいつの正体はVivaldiである。テッチャン!
SafariはUA文字列を固定するって話になってた気がする(トラッキングの材料になるというプライバシー案件と、バージョン判定に使うのをdiscourageしようという文脈)
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393
オリジントライアルはオリジンごとにトークンを発行してもらって、そのトークンをHTTPレスポンスヘッダとかに付けとくと実験的な機能がそのページで使えるというChromeのベンダープレフィックス代替としての試み
オリジントライアルは良さそうだけれど実際どうなんだろう
ベンダープレフィックス、実験用だからいつ壊れてもおかしくないよという気持ちが十分伝わらなかったしWebを壊すわけにもいかないしという悲しい事例
EdgeやFirefoxが-webkit-実装する羽目になった話ほんとすき
Appleは他のレンダリングエンジン許可しそうもない印象
日本でまともに売られているAndroid端末でiPhone並なのってあるの
Mobile Browser Market Share Worldwide | StatCounter Global Stats http://gs.statcounter.com/browser-market-share/mobile/worldwide
世界で見るとモバイルで2割前後のブラウザが日本だと6割くらいなの強すぎる
Mobile Browser Market Share Japan | StatCounter Global Stats http://gs.statcounter.com/browser-market-share/mobile/japan
Safariが強すぎる
いや、iOSだけでなくOpera miniもあるか(?)
iOSが普及していることによりcaniuseにおける実装率が日本と世界で20%(IEがなければ30%)違う例 https://caniuse.com/#feat=mediasource