<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <cite xml:lang="en">RFC 7230 - Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</cite> (<time>2014-06-07 01:59:35 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc7230#section-2.1">https://tools.ietf.org/html/rfc7230#section-2.1</anchor-external></li></ul></refs></section><section><h1>HTTP 利用者エージェント</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を開始する色々な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>プログラムです。
例えば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブラウザー</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スパイダー</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web</anchor> ベースの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ロボット</anchor>)、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">コマンドライン</anchor>ツール、カスタムアプリケーション、モバイルアプリケーションなどがあります。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> 「<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>」も<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を送信する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プログラム</anchor>と定義されていて、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>と交換可能な用語のようにも思えますが、そうは明記されておらず、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC</anchor> 著者の意図が何であるのかはっきりしません。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> 「利用者」エージェントは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>の時点で必ずしも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">人間</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>が当該ソフトウェアを操作している必要はありません。自動で動作する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ボット</anchor>であっても、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>です。 <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;16</anchor-internal> 2.2.</src></p><section><h1>状態</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、次の一時的または永続的な状態や設定を保持するか、
または保持できます。</p><figure class="list members"><dl><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">上流</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">串</anchor>の一覧</dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HSTSポリシー</anchor></dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既知ピン付きホスト</anchor></dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">代替サービス</anchor></dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">接続プール</anchor></dt><dd></dd><dt>処理済みの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPリダイレクト</anchor>の一覧 (無限リダイレクト防止用)</dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">応答</anchor>待ちの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>の一覧とタイムアウト時刻</dt><dd></dd><dt>保存された <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Cookie</anchor> の一覧</dt><dd></dd><dt><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ</anchor></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Pointer Lock対象</title></f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">固定状態</anchor>において<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウスイベント</anchor>を転送するべき<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>です。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">元のカーソル位置</f></dt><dd></dd></dl></figure></section></section><section><h1>Web ブラウザー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Webブラウザー</anchor>を参照。</p></section><section><h1>プッシュ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 
<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント<rt xmlns="http://www.w3.org/1999/xhtml">user agent</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プッシュメッセージ</anchor>の<rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">受信者<rt xmlns="http://www.w3.org/1999/xhtml">recipient</rt></rubyb>たる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフトウェア</anchor>です。
<src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;6</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プッシュサービス</anchor><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor>
を事前に知っておく必要があります。</p><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <cite xml:lang="en">RFC 8030 - Generic Event Delivery Using HTTP Push</cite>, <time>2020-03-09 00:13:33 +09:00</time> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://tools.ietf.org/html/rfc8030#section-1.1">https://tools.ietf.org/html/rfc8030#section-1.1</anchor-external></li></ul></refs></section><section><h1>歴史</h1><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC1945</anchor> 1.2, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2068</anchor> 1.3, <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">RFC2616</anchor> 1.3)</figcaption><blockquote><dl><dt>user agent</dt><dd>The client which initiates a request. These are often browsers,
editors, spiders (web-traversing robots), or other end user tools.</dd></dl></blockquote><dl><dt>利用者エージェント</dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要求</anchor>を始める<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クライアント</anchor>。
しばしば<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ブラウザ</anchor>であったり、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">エディタ</anchor>であったり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">蜘蛛</anchor> (ウェブ探索ロボット), であったり、他の末端利用者工具だったりします。</dd></dl></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end>
利用者の入力を受付け、その入力の
WWW の解釈を提示するソフトウェア又はハードウェア機器。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ISO‐HTML</anchor> <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://purl.org/NET/ISO+IEC.15445/15445.html#DEFS">http://purl.org/NET/ISO+IEC.15445/15445.html#DEFS</anchor-external> 4.13 参照。)</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end></p><blockquote><dl><dt><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント<rt xmlns="http://www.w3.org/1999/xhtml">user agent</rt></rubyb></dt><dd>
利用者エージェントは、この仕様に従って <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML</anchor>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>を処理する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">システム</anchor>です。</dd></dl></blockquote><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML 1.0</anchor><ul><li><cite>2.2. General Terms</cite>
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="XHTML10:&quot;general&quot;">IW:XHTML10:&quot;general&quot;</anchor-external></li></ul></li></ul></refs><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end></p><blockquote><dl><dt><dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>利用者エージェント</anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">User Agent</rt></rubyb></dfn></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML Mobile Profile</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書</anchor>その他の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">資源</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者</anchor>に代わり<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解釈</anchor>する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフトウェア</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor></dd></dl></blockquote><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XHTML Mobile Profile</anchor> (2001年10月29日) 3.2</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <cite>Introduction – SVG 1.1 (Second Edition)</cite>
( (<time>2011-08-10 12:35:27 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermUserAgent">http://www.w3.org/TR/2011/REC-SVG11-20110816/intro.html#TermUserAgent</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite>Widget Interface</cite>
( (<time>2013-10-29 00:58:56 +09:00</time> 版))
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.w3.org/TR/widgets-apis/#user-agent-0">http://www.w3.org/TR/widgets-apis/#user-agent-0</anchor-external></p><figure class="quote"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">Pointer Lock</cite>
(<time>2016-10-19 08:10:29 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://w3c.github.io/pointerlock/#dfn-user-agent">https://w3c.github.io/pointerlock/#dfn-user-agent</anchor-external></figcaption><blockquote><p>This specification defines conformance criteria that apply to a single product: the user agent that implements the interfaces that it contains.</p></blockquote></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en">Define &quot;user agent&quot;</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">jyasskin</anchor>著, <time>2019-09-23 23:06:27 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/infra/commit/d4a3e9003e6695e3e1379a8581d945759566bfac">https://github.com/whatwg/infra/commit/d4a3e9003e6695e3e1379a8581d945759566bfac</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <cite xml:lang="en">Define &quot;user agent&quot;. by jyasskin · Pull Request #269 · whatwg/infra</cite>
(<time>2020-01-28 20:33:16 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/infra/pull/269">https://github.com/whatwg/infra/pull/269</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <cite xml:lang="en">Define &quot;user agent&quot; · Issue #1021 · whatwg/html</cite>
(<time>2020-01-28 20:34:10 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/issues/1021">https://github.com/whatwg/html/issues/1021</anchor-external></p></section></body></html>