Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 47 additions & 39 deletions files/ja/web/http/reference/headers/user-agent/firefox/index.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,39 @@
---
title: Firefox ユーザーエージェント文字列リファレンス
slug: Web/HTTP/Reference/Headers/User-Agent/Firefox
original_slug: Web/HTTP/Headers/User-Agent/Firefox
l10n:
sourceCommit: 5767d8da976ac5f53142a83dd1552490223ba42e
sourceCommit: b1e1430dd3b1d2e01197231ab0fa6047ed8a221b
---

{{HTTPSidebar}}

この文書では、 Firefox 4 以降および Gecko 2.0 以降ベースのアプリケーションで用いられるユーザーエージェント文字列について説明します。 Gecko 2.0 での変更点について詳しくは [Final User Agent string for Firefox 4](https://hacks.mozilla.org/2010/09/final-user-agent-string-for-firefox-4/)E (ブログ記事) をご覧ください。[ユーザーエージェントの検出](/ja/docs/Web/HTTP/Guides/Browser_detection_using_the_user_agent)に関する文書や [Hacks の投稿](https://hacks.mozilla.org/2013/09/user-agent-detection-history-and-checklist/)もご覧ください。
この文書では、 Firefox 4 以降および Gecko 2.0 以降ベースのアプリケーションで用いられるユーザーエージェント文字列について説明します。 Gecko 2.0 での変更点について詳しくは [Final ユーザーエージェント文字列 for Firefox 4](https://hacks.mozilla.org/2010/09/final-user-agent-string-for-firefox-4/)E (ブログ記事) をご覧ください。[ユーザーエージェントの検出](/ja/docs/Web/HTTP/Guides/Browser_detection_using_the_user_agent)に関する文書や [Hacks の投稿](https://hacks.mozilla.org/2013/09/user-agent-detection-history-and-checklist/)もご覧ください。

## 全般的な形式

Firefox 自身のユーザーエージェント文字列は、 4 つの部分に分けられます。

`Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion`
`Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version`

- `Mozilla/5.0` はブラウザーが Mozilla 互換であることを示す一般的なトークンであり、今日のほとんどすべてのブラウザーで共通しています。
- `platform` は、ブラウザーが動作しているネイティブプラットフォーム (例: Windows、Mac、Linux、または Android)、およびモバイル端末であるかを表します。 Firefox OS 端末は単に "`Mobile`" となり、ウェブがプラットフォームです。 `platform` は "; " (セミコロン) 区切りの複数トークンで構成されることがある点に注意してください。詳細や例については後述します。
- `platform` は、ブラウザーが動作しているネイティブプラットフォーム (例: Windows、Mac、Linux、または Android)、およびモバイル端末であるかを表します。 Firefox OS 端末は単に `Mobile` となり、ウェブがプラットフォームです。 `platform` は `;` (セミコロン) 区切りの複数トークンで構成されることがある点に注意してください。詳細や例については後述します。

- `rv:geckoversion` は、Gecko のリリースバージョンを示します (例: "`17.0`")。最近のブラウザーでは `geckoversion` と `firefoxversion` が同じです
- `Gecko/geckotrail` は、ブラウザーが Gecko ベースであることを示します。
- デスクトップ版では、 `geckotrail` は固定文字列 "`20100101`" です。
- `Firefox/firefoxversion` はブラウザーが Firefox であることを示すとともに、バージョン番号を提供します (例: "`17.0`")。
- モバイル版は Firefox 10 より、 `geckotrail` と `firefoxversion` が同じです。
- `rv:gecko-version` は、Gecko のリリースバージョンを示します (例: "`17.0`")。
- `Gecko/gecko-trail` は、ブラウザーが Gecko ベースであることを示します。
- デスクトップ版では、 `gecko-trail` は固定文字列 "`20100101`" です。
- `Firefox/firefox-version` はブラウザーが Firefox であることを示すとともに、バージョン番号を提供します (例: `17.0`)。
- モバイル版は Firefox 10 より、 `gecko-trail` と `firefox-version` が同じです。

> [!NOTE]
> Gecko ベースのブラウザー向けに推奨する推定法(機能の検出を行う代わりにブラウザーエンジンの推定を行わ**なければならない**場合)は、 "`Gecko`" および "`rv:`" の文字列が存在するかの検出です。これは、他ブラウザーの一部に "`like Gecko`" というトークンが含まれるためです。
> Gecko ベースのブラウザー向けに推奨する推定法(機能の検出を行う代わりにブラウザーエンジンの推定を行わ**なければならない**場合)は、 `Gecko` および `rv:` の文字列が存在するかの検出です。これは、他ブラウザーの一部に `like Gecko` というトークンが含まれるためです。

Gecko ベースの他製品では下記 2 つの形式のいずれかであり、各トークンの意味は以下に記載した内容を除いて同じです。

`Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail appname/appversion`
`Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion appname/appversion`
`Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail appname/appversion`
`Mozilla/5.0 (platform; rv:gecko-version) Gecko/gecko-trail Firefox/firefox-version appname/appversion`

- `appname/appversion` は、アプリケーションの名称とバージョンを示します。例えばこれは、"`Camino/2.1.1`" や "`SeaMonkey/2.7.1`" となります。
- `Firefox/firefoxversion` は、Firefox を想定するウェブサイトと最大限の互換性を得るために一部の Gecko ベースのブラウザーが組み入れる場合がある、省略可能な互換性トークンです。 `firefoxversion` は一般的に、導入した Gecko のバージョンに相当する Firefox のリリースを表します。一部の Gecko ベースのブラウザーはこのトークンを使用しないかもしれません。従って、推定の際は Firefox ではなく Gecko を探してください!

Firefox 4 と Gecko 2.0 以前では、拡張機能やプラグインがユーザーエージェント部を持つことが可能でしたが、[Firefox バグ 581008](https://bugzil.la/581008) 以降はそれが不可能になりました。
- `appname/appversion` は、アプリケーションの名称とバージョンを示します。例えばこれは、`Camino/2.1.1` や `SeaMonkey/2.7.1` となります。
- `Firefox/firefox-version` は、Firefox を想定するウェブサイトと最大限の互換性を得るために一部の Gecko ベースのブラウザーが組み入れる場合がある、省略可能な互換性トークンです。 `firefox-version` は一般的に、導入した Gecko のバージョンに相当する Firefox のリリースを表します。一部の Gecko ベースのブラウザーはこのトークンを使用しないかもしれません。従って、推定の際は Firefox ではなく Gecko を探してください!

## モバイルおよびタブレットの標示

Expand All @@ -48,7 +45,7 @@ Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0
```

> [!NOTE]
> のバージョン番号は重要ではありません。バージョン番号を基に判断しないでください。
> バージョン番号は重要ではありません。バージョン番号を基に判断しないでください。

ある機器のフォームファクター向けのコンテンツを決めるために好ましい方法は、CSS メディアクエリーの使用です。しかし機器のフォームファクターの対象コンテンツを決めるために UA 推定を用いている場合は、携帯電話フォームファクターでは **Mobi** (Opera Mobile が "Mobile" ではなく "Mobi" と表記するため) を検索するようにして、"Android" と機器のフォームファクターに対応関連があるとは**考えない**ようにしてください。そうすることで Firefox を他の携帯電話やタブレットのオペレーティングシステム向けに公開した場合や Android がラップトップ PC に使用された場合でもコードが動作します。また、タッチ対応端末を検出するには "Mobi" や "Tablet" を検索するのではなく、タッチ機能を検出してください。タブレットではないタッチ対応端末の場合もあります。

Expand All @@ -59,6 +56,20 @@ Mozilla/5.0 (Android 4.4; Tablet; rv:41.0) Gecko/41.0 Firefox/41.0

Windows のユーザーエージェントには以下のバリエーションがあり、その中で _x.y_ は Windows NT のバージョンを表します(例えば、Windows NT 6.1)。

| Windows バージョン | Gecko ユーザーエージェント文字列 |
| -------------------------------- | --------------------------------------------------------------------------------- |
| Windows NT on x86 or aarch64 CPU | Mozilla/5.0 (Windows NT _x_._y_; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Windows NT on x64 CPU | Mozilla/5.0 (Windows NT _x_._y_; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0 |

## macOS

ここで、 _x.y_ は macOS のバージョンです(例えば、 macOS 10.15)。 Firefox 87 から、 Firefox は報告する macOS のバージョン数値を 10.15 に制限するため、 macOS 11.0 Big Sur 以降はユーザーエージェント文字列で "10.15" と報告されます。 ARM ベースの Mac はユーザーエージェント文字列で "Intel" と報告されます。

| Mac OS X バージョン | Gecko ユーザーエージェント文字列 |
| ----------------------------------- | ---------------------------------------------------------------------------------- |
| Mac OS X on x86, x86_64, or aarch64 | Mozilla/5.0 (Macintosh; Intel Mac OS X _x.y_; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Mac OS X on PowerPC | Mozilla/5.0 (Macintosh; PPC Mac OS X _x.y_; rv:10.0) Gecko/20100101 Firefox/10.0 |

## Linux

Linux には多様なプラットフォームが存在します。 Linux ディストリビューションによってはユーザーエージェント文字列を変更する拡張機能を含んでいることがあります。いくつかの一般的な例は以下のとおりです。
Expand All @@ -68,16 +79,9 @@ Linux には多様なプラットフォームが存在します。 Linux ディ
| Linux デスクトップ (i686 CPU) | Mozilla/5.0 (X11; Linux i686; rv:10.0) Gecko/20100101 Firefox/10.0 |
| Linux デスクトップ (x86_64 CPU) | Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 |

## Android (バージョン 40 以下)
## Android 版 Firefox

| フォームファクター | Gecko のユーザーエージェント文字列 |
| ------------------ | -------------------------------------------------------------- |
| 携帯電話 | Mozilla/5.0 (Android; Mobile; rv:40.0) Gecko/40.0 Firefox/40.0 |
| タブレット | Mozilla/5.0 (Android; Tablet; rv:40.0) Gecko/40.0 Firefox/40.0 |

## Android (バージョン 41 以降)

バージョン 41 以降の Android 版 Firefox では platform トークンに Android のバージョンが含まれます。相互運用性向上のため、 Android 4 以前のバージョンでブラウザーが動作している場合は 4.4 と出力します。 Android のバージョン 4 以降では実際のバージョン番号が出力されます。なお、Gecko エンジンはすべての Android のバージョンに対して同じ機能を提供しています。
Android 版 Firefox では platform トークンに Android のバージョンが含まれます。相互運用性向上のため、 Android 4 以前のバージョンでブラウザーが動作している場合は 4.4 と出力します。 Android のバージョン 4 以降では実際のバージョン番号が出力されます。なお、Gecko エンジンはすべての Android のバージョンに対して同じ機能を提供しています。

| フォームファクター | Gecko のユーザーエージェント文字列 |
| ------------------ | ------------------------------------------------------------------ |
Expand All @@ -89,7 +93,7 @@ Linux には多様なプラットフォームが存在します。 Linux ディ
バージョン 1 から、 Focus は Android WebView によって実現されており、以下のユーザーエージェント文字列書式を使用しています。

```plain
Mozilla/5.0 (Linux; <Android Version> <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Version/4.0 Focus/<focusversion> Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
Mozilla/5.0 (Linux; <Android Version> <Build Tag etc.>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Version/4.0 Focus/<focus version> Chrome/<Chrome Rev> Mobile Safari/<WebKit Rev>
```

タブレット版の WebView はモバイル版のミラーですが、 `Mobile` トークンを含みません。
Expand All @@ -102,15 +106,19 @@ Mozilla/5.0 (Linux; <Android Version> <Build Tag etc.>) AppleWebKit/<WebKit Rev>
| 1.0 (WebView Tablet) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/1.0 Chrome/59.0.3029.83 Safari/537.36 |
| 6.0 (GeckoView) | Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0 |

## Klar for Android
Klar ユーザーエージェントは [Focus](#focus_for_ios) と同じです。

## iOS 版 Firefox

iOS 版 Firefox は既定の Mobile Safari UA 文字列を使用し、追加で **FxiOS/\<version>** トークンを iPod と iPhone に追加します。これは [Chrome for iOS が自分自身を識別する方法](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/ios/user_agent.md)と同じです。

バージョン 4.1 以降、 Klar for Android は [Focus for Android](#focus_for_android) と同じ UA 文字列を使用します。バージョン 4.1 より前では、 _Klar/\<version>_ _product/version_ のトークンを送っていました。
| フォームファクター | iOS 版 Firefox ユーザーエージェント文字列 |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| iPod | Mozilla/5.0 (iPod touch; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) **FxiOS/1.0** Mobile/12F69 Safari/600.1.4 |
| iPhone | Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) **FxiOS/1.0** Mobile/12F69 Safari/600.1.4 |
| iPad | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Safari/605.1.15 |

| Klar のバージョン (レンダリングエンジン) | ユーザーエージェント文字列 |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| 1.0 (WebView) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Klar/1.0 Chrome/58.0.3029.83 Mobile Safari/537.36 |
| 4.1+ (WebView) | Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/4.1 Chrome/62.0.3029.83 Mobile Safari/537.36 |
| 6.0+ (GeckoView) | Mozilla/5.0 (Android 7.0; Mobile; rv:62.0) Gecko/62.0 Firefox/62.0 |
iPad では、ユーザーエージェント文字列は Safari とまったく同じように現れます。 iOS で `FxiOS` が含まれていないことに関する様々な問題は、 [mozilla-mobile/firefox-ios#6620](https://github.com/mozilla-mobile/firefox-ios/issues/6620) を参照してください。

## Focus for iOS

Expand All @@ -127,7 +135,7 @@ Mozilla/5.0 (iPhone; CPU iPhone OS 12_1 like Mac OS X) AppleWebKit/605.1.15 (KHT
Firefox for Fire TV のバージョン 3 (およびそれ以前もおそらく) は、以下の書式のユーザーエージェント文字列を使用します。

```plain
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefoxversion> Chrome/<Chrome Rev> Safari/<WebKit Rev>
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefox-version> Chrome/<Chrome Rev> Safari/<WebKit Rev>
```

| Firefox TV のバージョン | ユーザーエージェント文字列 |
Expand All @@ -139,7 +147,7 @@ Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Ve
Firefox for Echo Show はバージョン 1.1 から、以下の書式のユーザーエージェント文字列を使用しています。

```plain
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefoxversion> Chrome/<Chrome Rev> Safari/<WebKit Rev>
Mozilla/5.0 (Linux; <Android version>) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Focus/<firefox-version> Chrome/<Chrome Rev> Safari/<WebKit Rev>
```

| Firefox for Echo Show のバージョン | ユーザーエージェント文字列 |
Expand Down Expand Up @@ -184,11 +192,11 @@ Firefox OS のバージョン番号は UA 文字列に含まれませんが、 U
| 2.5 | 44 |

> [!NOTE]
> この対応関係は [Mercurial リポジトリー名](https://hg.mozilla.org/releases)から容易に判断できます。`mozilla-b2g` で始まるリポジトリーが Firefox OS のリリースリポジトリーであり、Firefox OS と Gecko の両バージョンがその名前に含まれています。
> この対応関係は [Mercurial リポジトリー名](https://hg-edge.mozilla.org/releases)から容易に判断できます。`mozilla-b2g` で始まるリポジトリーが Firefox OS のリリースリポジトリーであり、Firefox OS と Gecko の両バージョンがその名前に含まれています。

Firefox OS のバージョン番号は 4 つの数字があります: `X.X.X.Y`. 始めの 2 つの数字は Mozilla の製品チームが管理しており、新機能を伴うバージョンを表します(例: v1.1、1.2 など)。3 番目の番号はセキュリティ更新向けの定期的なバージョンの識別 (最大 6 週間ごと) として増えていきます。4 番目の番号は OEM が管理します。

## 関連情報

- [クロスブラウザー対応のための UA 文字列の推定](/ja/docs/Web/HTTP/Guides/Browser_detection_using_the_user_agent)における推奨事項
- [window.navigator.userAgent](/ja/docs/Web/API/Window/navigator)
- [`navigator.userAgent`](/ja/docs/Web/API/Window/navigator)