ユーザーエージェント演義

# 目次
* ユーザーエージェントとは
* Firefoxユーザーエージェント文字列
* 各ブラウザとプラットフォームのユーザーエージェント
* 何か問題が発見されないか
* ユーザーエージェント演義
* ブラウザのHTMLレンダリングエンジンの判断方法
* useragentをゲットできるhtmlとサーバー 
* iphoneのsafariをPCでデバッグしてみる


----

# ユーザーエージェントとは

ユーザーエージェント (英: user agent）とは、利用者があるプロトコルに基づいてデータを利用する際に用いるソフトウェアまたはハードウェアのこと。
特にHypertext Transfer Protocolを用いてWorld Wide Webにアクセスする、ウェブブラウザなどのソフトウェアのこと。 

> [出典: フリー百科事典『ウィキペディア（Wikipedia）』](https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88)

----

# Firefoxユーザーエージェント文字列

Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

> [出典：MDN Web Doc](https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/User-Agent/Firefox)





----

## 説明

* Mozilla/5.0 はブラウザーが Mozilla 互換であることを示す一般的なトークンであり、今日のほとんどすべてのブラウザーで共通しています。
* platform は、ブラウザーが動作しているネイティブプラットフォーム 
* rv:geckoversion は、Gecko のリリースバージョンを示します (例: "17.0")
* Gecko/geckotrail は、ブラウザーが Gecko ベースであることを示します。デスクトップ版では、 geckotrail は固定文字列 "20100101" です。
* Firefox/firefoxversion はブラウザーが Firefox であることを示すとともに、バージョン番号を提供します (例: "17.0")。

> [出典：MDN Web Doc](https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/User-Agent/Firefox)

----

# 各ブラウザとプラットフォームのユーザーエージェント


----

## mac OS

* Firefox
    * Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:70.0) Gecko/20100101 Firefox/70.0 
* Chrome
    * Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36
* Safari
    * Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Safari/605.1.15 
* Opera
    * Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.107

> 調査時点：2019/10/28


----

## windows10


* Firefox
    * Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0
* Chrome
    * Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36
* IE11
    * Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko 
* Microsoft Edge
    * Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763 
    * ブラウザのhelp: Microsoft EdgeHTML 18.17763;Microsoft Edge 44.17763.771.0
* Safari: 2019/02サポート終了


> 調査時点：2019/10/28

----

## iOS

* Firefox
    * Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/19.1b16203 Mobile/15E148 Safari/605.1.15
* Chrome
    * Mozilla/5.0 (iPhone; CPU iPhone OS 13_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/77.0.3865.103 Mobile/15E148 Safari/605.1
* Safari 
    * Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.1 Mobile/15E148 Safari/604.1
* Opera
    * Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) OPiOS/16.0.15.124050 Mobile/15E148 Safari/9537.53
* Microsoft Edge
    * Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 EdgiOS/44.9.0 Mobile/15E148 Safari/605.1.15


> 調査時点：2019/10/28

----

## Android

* Firefox
    * Mozilla/5.0 (Android 9; Mobile; rv:68.0) Gecko/68.0 Firefox/68.0
* Chrome
    * Mozilla/5.0 (Linux; Android 10; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.62 Mobile Safari/537.36
* Microsoft Edge
    * Mozilla/5.0 (Linux; Android 10; Pixel 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36 EdgA/42.0.4.3985 


> 調査時点：2019/10/28

----

# 何か問題が発見されないか

----

## 問題
* FirefoxはiOSと以外プラットフォームのエンジンが違う
* Blinkエンジンがなし
* Mozilla/5.0共通
* like Gecko
* その他のブラウザの情報

----

# ユーザーエージェント演義


> [参照1：为什么浏览器User-agent总是有Mozilla字样](https://zhidao.baidu.com/question/1767408752449075980.html?qbl=relate_question_0&word=like%20gecko%20%CA%B2%C3%B4%D2%E2%CB%BC)
> [参照2：UserAgentからOS/ブラウザなどの調べかたのまとめ](https://qiita.com/nightyknite/items/b2590a69f2e0135756dc)


----

# ブラウザのHTMLレンダリングエンジンの判断方法
* ユーザーエージェント




----

# useragentをゲットできるhtmlとサーバー 

```
<!DOCTYPE html>
<html>
<script>
  function demo() {
    var demo = document.getElementById('demo');
    var result = window.navigator.userAgent;
    demo.innerHTML = result;
  }
</script>
<noscript>Sorry, your browser does not support JavaScript!</noscript>
<body>
  <h1 class="showColor">My coding sample</h1>
  <button type="button" onclick="demo()">Click me to show demo</button>
  <p id="demo"></p>
</body>
</html>
```

----

# iphoneのsafariをPCでデバッグしてみる


> [参照：iOSのSafariのWebインスペクタを使ってみる](https://www.tam-tam.co.jp/tipsnote/html_css/post12114.html)