昨今、セキュリティや個人情報の保護の観点
ヨーロッパ、EU諸国の「一般データ保護規則(GDPR)」などなど
個人情報はなるべく流してくれるなよ、収集するのもおよしなさいよと言う高まりから
第三者Cookie(サードパーティーCookie)が今後禁止されていくなど・・・
いろいろと増えていますがその中でも結構、私的にどうしようかとおもったのが本記事のタイトルの通り
UserAgentをブラウザが送らなくなる
と言う問題です。
サードパーティーCookieが段階的になくなるよ的なのはこちらです
Google、サードパーティー製CookieのChromeでのサポートを2年以内に終了へ
ユーザエージェントは、ブラウザがサーバ側へ送信する自分自身の情報です。
含まれる情報は主に
ブラウザ名称
ブラウザの名称
ブラウザのバージョン
ブラウザを動作させているOSの名前
などが含まれますが将来これらが送られなくなるかもしれないと言うことです。
GoogleはChromeでユーザーエージェント文字列を段階的に廃止する方針
個人レベルでいいますと無駄な情報が送られなくなることは歓迎するべきかもしれませんが、
では実装的にはどうでしょう・・・
多くのサーバサイドプログラムは、おそらくこのユーザエージェントを利用している処理も多いです。
例えばですが、
IEではこのタグを出した方が都合がいいが
その他のブラウザでは都合が悪いので出さないための処理
OSが「Android」「IOS」だからスマートフォン用のデザインを出力させる・・・
などなどなど・・・
実装はいろいろあるでしょう。
バージョン部分を確認してHML5の要素を完全に解釈できるか?の判定に使うこともあるでしょう。
これがUserAgentが送信されてこないと判定できなくなるかもしれません。
今の予定だとどうも各ブラウザ
自分自身の名前ぐらしか教えてくれなくなりそうです。
無くなってしまう物はしかたがありませんので
対応策を考えないといけません。
なかなか頭を抱えるないようではありますが致し方なしです。
流石に、SPかPCかの判定ぐらいはしたいですよね・・・
じゃぁ何か方法はないのか?
多少手間にはなるかもしれませんがあることには
いろいろとあるようです。
いや・・・本当UserAgentでもいいのにと思ってしまうのですが
いや本当、仕方ないのです。
長いものには巻かれるしかないのです。特に
GoogleやAppleには・・・
ある程度雑な判定で・・・PCとSPの判定をするならば
mediaQueryの要素をJavaScriptで判定してしまおう
と言う物です。
mediaQueryで定義して表示される要素を
JavaScriptで表示されてるか?を判定し、表示されていればスマートフォン。
表示がされていなければ「PC」と判定する方法ですね。
ただこれサーバ側がこの「SP」「PC」の情報が欲しい場合はどうしましょう・・・
今のところ・・・私の少ない知恵では
Ajaxにより判定結果を、サーバサイドに送ることぐらいでしょうか・・・絶対もっといい方法があるかも知れませんが。
兎にも角にも、Googleの陣営がこのUserAgentさような方向へ動いておりますので
対応は近く必要になっていく物と予想されます。
Writer:ゆたさん@開発者。
HomePagehome Twitter Facebook