![ウェブブラウザ](https://hbol.jp/wp-content/uploads/2020/02/browser-773215_640-550x550.jpg)
Gerd Altmann via Pixabay
Webブラウザのユーザーエージェント、Google Chrome が非推奨に
1月の下旬に、
Webブラウザのユーザーエージェントの話題が流れてきた。
「Google Chrome」でユーザーエージェントが非推奨にされ、段階的に凍結されるそうだ(参照:
Google グループ、
窓の杜)。
Web業界にいる少なからずの人が「あー、まあ分かる」と思ったかもしれない。Webブラウザのユーザーエージェントを見たことがある人は、「これは、さすがに駄目だろう」と感じていただろう。
Webブラウザのユーザーエージェントは、妥協と迎合の産物だった。それは
魔窟であり、Webブラウザの負の遺産だった。Webブラウザのユーザーエージェントを「素晴らしい物」と言う人がいれば耳を疑う。現実問題として、そう言う人はいないのではないか。
こうした温度感は、Webページを閲覧しているだけの人には分かりにくいものだ。しかし、Webブラウザを迎え入れる側の、サーバーサイドの開発を何らかおこなったことがある人には実感できるだろう。
ユーザーエージェントがなぜ魔窟であり、負の遺産なのか。そうした、ユーザーエージェントのあれこれについて、今回は書こうと思う。
そもそも、Webブラウザのユーザーエージェントとは何なのか。そこから話をしようと思う。
ユーザーエージェントは
「利用者の代理人」という意味である。インターネットにおけるユーザーエージェントは、
ユーザーの代わりにサーバーからデータを取得して処理をおこなうソフトウェアのことを指す。
多くの人が利用しているWebブラウザは、ユーザーエージェントのひとつである。しかし、それだけでなく、多種のユーザーエージェントがインターネットには存在している。
たとえばネットから情報を収集する、
クローラーあるいは
ロボットと呼ばれるソフトウェアがある。Google などの検索エンジンが情報を保持しているのは、ネットから情報を収集するプログラムを使っているからだ。そうしたソフトウェアも、ユーザーエージェントのひとつである。
Webブラウザを含む各種ユーザーエージェントは、サーバーにアクセスする際に、名乗りを上げる。
「私は、○○というWebブラウザです」
「私は、△△というロボットです」
サーバー側では、その名乗りを見て、「なるほど、□□が来たか。じゃあ、こういった処理をしよう」と、返すデータを変えたりする。
この
名乗り――クライアントのソフトウェアが、サーバーに送信する文字列――も「ユーザーエージェント」と呼ばれる。今回
Google Chrome が非推奨にするというユーザーエージェントは、こちらの意味のユーザーエージェントになる。
この名乗りとしてのユーザーエージェントは、どのように活用されるのか。
ユーザーエージェントを受け取ったサーバーは、この文字列を見て、返すデータを変えたりする。たとえば、パソコンからのアクセスと、携帯電話からのアクセスでは、別の内容を返す。そうしたことが、ユーザーエージェントを確認することで実現できる。
また、クローラーからWebページが要求された場合に、Webブラウザ向けとは違う情報を返すといったこともおこなわれる。
それ以外では、アクセスしてきた機器によって返すデータを変えることもできる。たとえば、特定のゲーム機の内蔵ブラウザからアクセスする場合は、シンプルな見た目のページを返すといった使い方ができる。
ユーザーエージェントの文字列は、このように意味のある使い方をすれば、有用な機能だと言える。