このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

User-Agent ヘッダー

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2015年7月⁩.

User-Agent リクエストヘッダーは、サーバーやネットワークピアがアプリケーション、オペレーティングシステム、ベンダーや、リクエストしているユーザーエージェントのバージョン等を識別できるようにする特性文字列です。

警告: ブラウザーによって異なるウェブページやサービスを提供することが、通常は悪い考えである理由については、ユーザーエージェント文字列を用いたブラウザーの判定をお読みください。

ヘッダー種別 リクエストヘッダー
禁止リクエストヘッダー いいえ

構文

http
User-Agent: <product> / <product-version> <comment>

ウェブブラウザーでよくある書式は以下のようなものです。

http
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

ディレクティブ

<product>

製品の識別子です。名前または開発コードネームです。

<product-version>

製品のバージョン番号です。

<comment>

ゼロ個以上のコメントで、サブ製品情報など、より詳細な情報を含みます。

User-Agent の削減

User-Agentヘッダーに公開される情報は、歴史的にプライバシー上の懸念を引き起こしてきました。特定のユーザーエージェントを識別するために利用され、したがってフィンガープリンティングに悪用される可能性があるためです。こうした懸念を軽減するため、対応ブラウザーでは User-Agent ヘッダーおよび関連 API 機能(Navigator.userAgentNavigator.appVersionNavigator.platform など)において、提供される情報の量を削減しています。

例えば、以前は Android 上で動作する Chrome の User-Agent 文字列は以下のようなものだったかもしれません。

Mozilla/5.0 (Linux; Android 16; Pixel 9) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.12.45 Mobile Safari/537.36

ユーザーエージェント削減の更新後、現在は以下のようになっています。

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36
  • プラットフォームのバージョンは常に固定値であり、この場合は Android 10 です。
  • デバイスモデルは常に固定値であり、この場合は K です。
  • Chrome のメジャーバージョン番号は正しく表示されますが、マイナーバージョン番号は常にゼロ (0.0.0) として表示されます。

より多くの情報が必要なサーバーは、ユーザーエージェントクライアントヒントを通じて要求できます。初期接続後、サーバーは必要なデータアイテムを詳細に記述した Accept-CH レスポンスヘッダーを送信でき、クライアントは Sec-CH-UA-* ヘッダーを介してデータを返送できます。この情報は、ユーザーエージェントクライアントヒント API からもアクセスできます。

より詳細な情報(必要に応じて追加情報を取得する方法のガイドを含む)については、User-Agent の削減を参照してください。削減された User-Agent 文字列の例は、以下の節でも確認できます。

Firefox の UA 文字列

Firefox や Gecko ベースのユーザーエージェント文字列の詳細については、 Firefox のユーザーエージェント文字列リファレンスを参照してください。 Firefox の UA 文字列は 4 つの部分に分解されます。

Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version
  1. Mozilla/5.0 は、 Mozilla と互換性があるブラウザーであるということを示す一般的なトークンで、現在はほぼすべてのブラウザーで共通です。
  2. platform は、ブラウザーが動作しているプラットフォーム (Windows, Mac, Linux, Android など)、およびモバイル端末かどうかを示します。 platform が複数の ; で区切られていることに留意してください。後述の詳細と例も併せてご覧ください。
  3. rv:gecko-version は Gecko のリリースバージョンです ("17.0" など)。最近のブラウザーの gecko-versionfirefox-version と同じです。
  4. Gecko/gecko-trail は、ブラウザーが Gecko を基にしていることを示します。 (デスクトップでは、 gecko-trail は常に 20100101 の固定文字列です。)
  5. Firefox/firefox-version は、ブラウザーが Firefox であること、またそのバージョン ("17.0" など) を示しています。

デスクトップの例:

Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0

Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0

Chrome の UA 文字列

Chrome (または Chromium/Blink ベースのエンジン) のユーザーエージェント文字列は Firefox のものと似ています。互換性のため、 KHTML, like GeckoSafari のような文字列が追加されています。iPhone では "CriOS/<version>" が追加されます。

デスクトップの例:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36

Android スマートフォンの例:

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Mobile Safari/537.36

Opera の UA 文字列

Opera ブラウザーも Blink エンジンに基づいているので、大部分は同じですが、デスクトップと Android では "OPR/<version>" を追加し、iOS では "OPT/<version>" を追加します。プレビューバージョンでは、Opera は特定のブラウザーのエディションの説明を括弧の中に、 (Edition developer) のように含めます。

デスクトップの例:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/124.0.0.0 (Edition developer)

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 OPR/124.0.0.0 (Edition developer)

Android スマートフォンの例:

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Mobile Safari/537.36 OPR/92.0.0.0

Microsoft Edge の UA 文字列

Edge ブラウザーも Blink エンジンをベースとしています。デスクトップのプラットフォームでは "Edg/<version>" を追加し、Android では "EdgA/<version>"、iPhone では "EdgiOS/<version>" を追加します。

デスクトップの例:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0

Android スマートフォンの例:

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36 EdgA/141.0.0.0

Safari の UA 文字列

Safari は WebKit エンジンに基づいていますが、UA 文字列は Blink ベースのブラウザーとも似ています。実際のエンジンビルドバージョン前に Version/xxx という文字列を含める傾向があり、これは Blink ベースのブラウザーとは異なり、ブラウザーのリリースバージョンを示すものです。 iPhone(モバイル)Safari の場合、この文字列には Mobile も含まれます。

メモ: 執筆時点では、Apple 製以外の iPhone のブラウザー(Firefox、Chrome、Edge など)は WebKit を基盤としているため、それらのユーザーエージェント文字列は Safari のユーザーエージェント文字列と類似しています。

デスクトップの例:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15

iPhone の例:

Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Mobile/15E148 Safari/604.1

ユーザーエージェント削減前の例

この節では、ユーザーエージェントの削減が導入される前の、古いバージョンのブラウザーにおけるユーザーエージェント文字列の例をいくつか示します。

Google Chrome:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36

Microsoft Edge:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59

Opera:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36 OPR/38.0.2220.41

古い Presto ベースの Opera リリースでは、次のような構造が使用されていました。

Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.00

Opera/9.60 (Windows NT 6.0; U; en) Presto/2.1.1

クローラーやボットの UA 文字列

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Mozilla/5.0 (compatible; YandexAccessibilityBot/3.0; +http://yandex.com/bots)

ライブラリーやネットツールの UA 文字列

curl/7.64.1
PostmanRuntime/7.26.5

仕様書

Specification
HTTP Semantics
# field.user-agent

ブラウザーの互換性

関連情報