-
Notifications
You must be signed in to change notification settings - Fork 4
/
117.txt
500 lines (419 loc) · 17.8 KB
/
117.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
[16] [DFN[[RUBYB[[[Webブラウザー]]]@en[Web browser]]]]は、[[利用者]]が[[Web]]
を[RUBYB[[[閲覧]]]@en[browse]]するための[[ソフトウェア]]です。
文脈上曖昧でない時は、[DFN[[RUBYB[ブラウザー]@en[browser]]]]ともいいます。
[[Web]] における最も代表的で重要な[[利用者エージェント]]の種別です。
[43] [[パソコン]]や[[スマートフォン]]をはじめ、通常の[[利用者]]の操作を想定した現在のほとんどの[[計算機]]には、
[[Webブラウザー]]が搭載されています。
* Web ブラウザーの一覧
[52] [[Webブラウザー]]は、いろいろあります。
[FIG(list short)[
- [[WorldWideWeb]]
- [[Line Mode Browser]]
- [1] [[Netscape Navigator]] ([[NN]]), [[Netscape Communicator]] ([[NC]])
- [2] [[Mozilla]]
- [3] [[Internet Explorer]] ([[M$IE]]): [[WinIE]], [[MacIE]]
- [[Emacs/W3]]
- [4] [[w3m]]
- [[emacs-w3m]]
- [5] [[Lynx]]
- [6] [[Opera]]
- [7] [[HotJava]]
- [8] [[Amaya]]
- [[Arena]]
- [9] [[Mosaic]]
- [[Vosaic]]
- [10] [[Safari]]
- [11] [[Infomosaic]]
- [13] [[Chimera]]
- [14] [[konqueror]]
- [[iCab]]
- [[Camino]]
- [15] [[Galeon]]
- [[影鷹]]
- [[Chrome]]
- [[Yahoo! Axis]]
- [[和ジラ]]
- [[MutualTestFox]]
- [[Cello]]
- [[インターネットチャンネル]]
- [[ニンテンドーDSブラウザー]]
- [[ニンテンドーDSiブラウザー]]
- [[インターネットブラウザー]]
- [[PhantomJS]]
- [[SlimerJS]]
- [[Lite]]
- [[AudienceBrowserAdvance]]
- [[Yandex.ブラウザー]]
- [[KOMEIブラウザ]]
- [[Midori]]
- [[Kinza]]
- [[Iceweasel]]
- [[IceCat]]
- [[GNUzilla]]
- [[Explore]]
- [[Vivaldi]]
- [[azur]]
- [[JustView]]
- [[Slimjet]]
- [[Tungsten]]
- [[WebExplorer]]
- [[PCサイトビューアー]]
- [[jigブラウザ]]
- [[Tor Browser]]
- [[Baidu Browser]]
- [[iモードブラウザ2.0]]
- [[Web Browser for Android Wear]]
- [[BBB]]
- [[PIE]]
- [[Lunascape]]
- [[酷鳥]]
- [[チャンネル][チャンネル (Windows CE)]]
- [[あーすブラウザ]]
- [[INTERTop]]の[[ブラウザー]]
- [[RockMelt]]
- [[Jane]] シリーズの内蔵ブラウザー
- [[Craving Explorer]]
- [[StreamTransport]]
- [[Blisk]]
- [[qutebrowser]]
- [[Firefox Focus]]
- [[WWWブラウザ(HTML3.2準拠)]]
- [[Beaker]]
- [[Bromite]]
- [[UDブラウザ]]
- [CITE[[[Pale Moon]]]]
]FIG]
[57] [[Webブラウザー]]は、動作する[[プラットフォーム]]や表現形態によっていくつかに分類できます。
[FIG(short list)[ [60] [[Webブラウザー]]の分類
- [[デスクトップブラウザー]]
- [[スマートフォンブラウザー]]
- [[ゲーム機のWebブラウザー]]
- [[テレビのWebブラウザー]]
- [[視覚的利用者エージェント]]
- [[AT]]
- [[音声UA]]
- [[対話的利用者エージェント]]
- [[テキストブラウザー]]
- [[埋め込みブラウザー]]
- [[ガラケーブラウザー]]
- [[モダンブラウザー]]
- [[クローラー]]
- [[Web巡回]]
- [[アンテナ]]
- [[headless browser]]
- [[kiosk mode]]
]FIG]
* Web ブラウザーの動作に関する概念
[68]
[FIG(list short)[
- [[Webブラウザー実行環境]]
- [[閲覧文脈]]
- [[viewport]]
- [[画布]]
- [[navigate]]
- [[ごみ収集 (Web)]]
- [[レンダリング]]
- [[フォーカス]]
- [[キャッシュ]]
- [[同一起源ポリシー]]
- [[セッション (Web)]]
- [[private browsing]]
- [[ダウンロード]]
- [[物理形を得る]]
- [[クリップボード]]
- [[装置 (Web)]]
]FIG]
[58] 動作中の [[Webブラウザー]]は、次の状態を保持します。
[FIG(list members)[
: [F[[[窓][窓 (Web)]]群]] : 動作中の[[窓][窓 (Web)]]の[[集合]]です。
: [F[[[関連する類似起源閲覧文脈群の単位]]群]]:
:[[共有ワーカー]]群:動作中の[[共有ワーカー]]です。 [CODE(JS)@en[[[new SharedWorker]]]]
で参照されます。
: [F[共有ワーカー管理器]] :
: [F[プラットフォーム][プラットフォーム (Web)]] : [[プラットフォーム依存の動作]]の決定に影響します。
: [F[navigator互換性モード]] : [CODE(DOMi)@en[Navigator]] [[オブジェクト]]の[[属性]]の値に影響します。
: [F[[[既定[CODE(HTTP)@en[User-Agent]]値]]]] : [CODE(HTTP)@en[User-Agent:]] [[ヘッダー]]の値です。
: [[HTTP利用者エージェント]]としての状態 :
[[HTTP利用者エージェント]]参照。
: [F[DNSキャッシュ]] :
: [F[既読URLリスト]] :
: [F[取扱器データベース]] :
: [F[scope to registration map]] :
: [F[[[適用範囲URL]]から[[ジョブキュー][サービスワーカージョブキュー]]への[[写像]]]] :
]FIG]
[62] [[Webブラウザー]]では、[[イベントループ]]、 [[fetch]]
などいくつかの処理が[[並列に]]実行されています。
;; [[並列に]]の項を参照。
* Web ブラウザーのソフトウェア構成に関する概念
[FIG(short list)[
- [[利用者エージェント]]
- [[クライアント]]
- [[埋め込みWebブラウザー]]
- [[レンダリングエンジン]]
- [[構文解析器 (Web)]]
- [[スクリプトエンジン]]
- [[ストレージ (Web)]]
- [[パスワードマネージャー]]
- [[証明書データベース]]
- [[名前解決器]]
- [[プラグイン]]
- [[ヘルパーアプリケーション]]
- [[内容取扱器]]
- [[プロトコル取扱器]]
- [[OpenSearch]] 検索定義
- [[開発者ツール]]
- [[use counter]]
- [[AT]]
- [[利用者]]
- [[Web IDL]]
- [[Webブラウザーの複数プロセス化]]
]FIG]
[44] [[Webブラウザー]]の実装する技術については、 [[WWW]] を参照。
* Web ブラウザーの UI に関する概念
[71]
[FIG(short list)[
- [[窓システム (Web)]]
- [[窓][窓 (Web)]]
- [[フレーム]]
- [[スクロールバー]]
- [[選択 (Web)]]
- [[命令 (Web)]]
- [[鍵盤操作]]
-- [[キャレット]]
-- [[アクセスキー]]
- [[マウス操作]]
-- [[マウスポインター]]
- [[ダイアログ]]
- [[履歴]]
-- [[戻る]]、[[進む]]
-- [[再読み込み]]
--- [[スーパーリロード]]
-- [[中止]]
- [[ホームページ]]
- [[プラットフォーム (Web)]]
- [[tooltip]]
- [[文脈メニュー]]
- [[焦点]]
- [[空間ナビゲーション]]
- [[エラーコンソール]]
- [[通知]]
- [[favicon]]
- [[栞]]
- [[ダウンロードマネージャー]]
- [[設定]]
- [[翻訳 (Web)]]
- [[ソース表示]]
- [[ページ情報]]
- [[ページ内検索]]
- [[全画面表示]]
- [[キオスクモード]]
- [[文字コード指定メニュー]]
- [CODE(HTMLa)@en[[[cite]]]] [[属性]]をたどる [[UI]]
]FIG]
[46] 一般に [[UI]] は ([[相互運用性]]に影響しないため) [[Webブラウザー]]に完全に任されています。
そうはいっても基本機能はどのブラウザーでも共通していますし、
同じ機能に同じ操作を割り当てるなど[[プラットフォーム]]の仕様や指針に由来する共通性もあります。
仕様書も実装例を提示したり、互換性や相互運用性のための (具体的実現方法ではなく)
機能的要件を示したりすることはあります。
[47] [[Web Security Context: User Interface Guidelines]] は、 [[TLS]]
等の表示に関する規定を行っています。
* 設定項目
[72] [[Webブラウザー]]は[DFN[Webブラウザー[[利用者]]の設定]]により一部の挙動を変化させます。
[54] 全体の設定:
[FIG(short list)[
- [[プロキシ]]
- [[DNT]]
- [[第三者クッキー]]許可
- [CODE(HTTP)@en[[[Prefer:Safe]]]]
- [[証明書データベース]]
- [[言語]]設定
]FIG]
[51] 全体の設定と[[閲覧文脈]]ごと、[[ドメイン]]ごと、[[文書]]ごとなど細かい単位での設定ができる
(ことがある) もの:
[FIG(short list)[
- [[スクリプト有効]]
- [[ワーカー]]利用の可否
- 既存[[共有ワーカー]]利用の可否
- [CODE(DOMa)@en[[[cookieEnabled]]]]
- [[利用者スタイルシート]]
- [[利用者スクリプト]]
- [[画像]]の読み込み
- [[ズーム]]
- [[文字コード]]
- [[ポップアップ抑制]]
- [[プラグイン]]許可
- [CODE(HTMLa)@en[ping]] 送信可否
- [[開発モード]]の各設定
- [[ズーム]]
- セキュリティー等の警告の非表示設定
- [CODE(HTMLe)@en[object]] の[[フォールバック]]を表示するべきか
- [[Permission]]
-- [[Geolocation API]]
-- [[getUserMedia]]
-- [[Notification]]
-- [[Fullscreen]]
-- [[Pointer Lock]]
-- [[Vibration]]
- [[ダウンロード]]の設定
- [[綴り検査]]の設定
- [[自動翻訳]]の設定
- [[volume]]
- [[prefetch]] 設定
]FIG]
]FIG]
[SEE[ [[private browsing]] ]]
* 拡張と API
[39] [[Webブラウザー]]に機能追加を行うソフトウェアやその [[API]] には、
次のものがあります。
[FIG(short list)[
- [[NPAPI]]
- [[PPAPI]]
- [[ActiveX Control]]
- [[Active Scripting]]
- [[IEブラウザ拡張]]
- [[Firefox拡張]]
- [[Chrome拡張]]
- [[Safari拡張]]
- [[Opera拡張]]
- [[Firefoxテーマ]]
- [[Personas]]
- [[WebDriver]]
- [[XPCOM]]
- [[XTF]]
- [[XBL]]
- [[XUL]]
- [[ブックマークレット]]
]FIG]
;; [[プラグイン]]や[[ヘルパーアプリケーション]]も参照。
[56] その他 [[Webブラウザー]]を機能拡張するソフトウェアには次のようなものがあります。
[FIG(short list)[
- [[Google Gears]]
- [[Chrome Frame]]
- [[Selenium]]
- [[Greasemonkey]]
]FIG]
* 埋め込み Web ブラウザー
[40] 多くの [[Webブラウザー]]は、単独の[[アプリケーション]]としてだけでなく、
他の[[アプリケーション]]に組み込む[[制御子]] ([[ウィジェット]]) として利用できる
[[API]] を有しています。
[42] 特に[[スマートフォンアプリ]]は機能の一部または全部を [[OS]] の提供する
[[Webブラウザー]]機能により実装していることがあり、[[アプリ内ブラウザー]]や
[[Webビュー]]などと呼ばれます。
;; [41] [[埋め込みWebブラウザー]]を参照。
* 自動更新
[12] 一般利用者が [[Webブラウザー]]を手動で更新せず古いものを使い続け [[Web開発]]と [[Web]]
の発展を妨げてきた反省から、また[[インターネット]]常時接続環境の一般化や
[[Webブラウザー]]開発の活発化から、 [[Webブラウザー]]には[[自動更新]]機能が組み込まれる、
あるいは [[OS]] 等の自動更新機能が利用されることが10年代中頃には当然になってきました。
;; [17] [[IE]] と古い[[スマートフォン]]を除けば、もはや最新版以外の古い版の
[[Webブラウザー]]を [[Web開発]]において意識することはなくなりつつあります。
[38] [[セキュリティー]]、互換性などの理由で次のデータは定期的に更新する必要があり、
[[Webブラウザー]]の更新により、またはそれとは別の方法で [[Webブラウザー]]開発元等により配布される最新データに更新されるようになっています。
[FIG(short list)[
- [[TLSルート証明書]]
- [[Public Suffix List]]
- [[IDN-enabled TLDs]]
- [[HSTS Preload]]
- [[PKP preload list]]
- [[CV一覧]] ([[IE]])
- [[Chrome CRLSet]]
- [[OneCRL]]
- [[TLS]] の互換性リスト
- [[Browser JavaScript]] ([[Opera]])
- [[Safe Browsing]]
- [[プラグイン]]一覧
- [[暦]]のデータ ([[ロケール]]参照)
- [[時間帯]]のデータ ([[ロケール]]参照)
]FIG]
* 開発元への報告システム
[63] 現代の[[Webブラウザー]]には、 ([[利用者]]の承認がある時)
[[Webブラウザー]]の利用状況や不具合の発生状況を開発者に報告する仕組みが実装されています。
[64] [[Webブラウザー]]の種別や開発版か否かの違い、設定などにも依存しますが、
次のような仕組みがあります。
[FIG(list)[
- [65] 問題がある [[Webページ]]に遭遇した時に、[[利用者]]が手動で報告する機能。
表示中の [[URL]] や[[画面写真]]、[[利用者]]の報告文などが送信されます。
- [66] [[Webブラウザー]]が[[クラッシュ]]した時に、
[[メモリー]]内容の一部を報告する機能。
- [67] [[use counter]]
]FIG]
* その他
[59]
[FIG(short list)[
- [[推奨ブラウザー]]
]FIG]
* 歴史
[55] [[文書]]を[[利用者]]に提示することが主たる機能である[[利用者エージェント]]のこと。 Browser。閲覧ソフトウェア。
([[ISO‐HTML]] <http://purl.org/NET/ISO+IEC.15445/15445.html#DEFS> 4.1 参照。)
[48] [[ブラウザー戦争]]
[49] [[フルブラウザー]]
* メモ
[34] [CITE[ウェブ ブラウザ小史 2001]] <http://www.kanzaki.com/works/2001/pub/ua-history.html>
([[名無しさん]] [WEAK[2005-12-06 23:43:59 +00:00]])
[33] [CITE[Browser memo]] <http://www.kmc.gr.jp/~ranran/browsers/browsers.html>
[32] [CITE[Web Devout]] <http://www.webdevout.net/>
[31] [CITE[MultiBrowser Appliance]] <http://mbappliance.colinfinck.de/>
([[名無しさん]] [WEAK[2006-12-23 03:58:37 +00:00]])
[30] [CITE@ja[スラッシュドット ジャパン | IEの世界シェア、80%を割り込む]] ([CODE[2007-01-16 10:09:41 +09:00]] 版) <http://slashdot.jp/article.pl?sid=07/01/15/0526245&from=rss>
([[名無しさん]] [WEAK[2007-01-16 01:10:26 +00:00]])
[29] [CITE@en[Mac OS X Web browser rundown 2007 | 456 Berea Street]] ([[Roger Johansson]] 著, [CODE[2007-10-27 11:49:38 +09:00]] 版) <http://www.456bereastreet.com/archive/200710/mac_os_x_web_browser_rundown_2007/>
[28] [CITE@en[Re: '''['''dom3core''']''' getAttribute from Maciej Stachowiak on 2005-12-02 (www-dom@w3.org from October to December 2005)]] ([[Maciej Stachowiak (mjs@apple.com)]] 著, [CODE[2007-09-18 20:22:15 +09:00]] 版) <http://lists.w3.org/Archives/Public/www-dom/2005OctDec/0047.html>
- [18] [WEAK[2003-09-19 07:18:01 +00:00]] ''[[名無しさん]]'': ''【IT】「IE以外のブラウザは必要ない!?」300人中241人がIE一筋'' <http://news5.2ch.net/test/read.cgi/newsplus/1063953319/> : 母集団が小さい上に偏っててこんな調査に意味があるとは思えないけどさ、そんな調査で59人が [[IE]] 以外も使っているらしいよ。これってすごくない? もう IE も落ち目だね。
<http://groups.google.co.jp/groups?threadm=7u4rmb%2497m%241%40masamune.dais.is.tohoku.ac.jp>
<http://groups.google.co.jp/groups?selm=7srsmh%24ct3%241%40masamune.dais.is.tohoku.ac.jp>
[19] 雑誌記事によると、1995年11月に[[フィリップス]]が英国で
[[CD-I]] 用インターネット・ブラウザを発売。
[WEAK[インターネット・ブラウザって何か分からないけど、たぶん WWW ブラウザが中核でしょう。]]
99ポンド (当時1万4千円くらい)
で14.4kbps のモデムつき。
入力はソフトウェア鍵盤または別売りの鍵盤で。
- [20] 最初のブラウザが text browser だったという俗説は意外と指示されていますよね。もちろん嘘。 [[TimBL]] の [[WorldWideWeb]] on [[NeXT]] の画面写真を一度は見てみるといい。
- [21] ''Browser memo'' <http://www.kmc.gr.jp/~ranran/browsers/browsers.html#w3>
[22]
>>20 それは UI は CUI → GUI に、
WWW ブラウザは text → GUI にと進化する(べき)というマルクス史観なのですよ(藁
([[名無しさん]])
[23]
[CITE[evolt.org - Browser Archive]] <http://browsers.evolt.org/>
([[名無しさん]])
[24]
[CITE[スラッシュドット ジャパン | PSPの隠しブラウザでウェブブラウジング]] <http://slashdot.jp/articles/05/03/28/0426228.shtml?topic=31>
([[名無しさん]])
[25]
[CITE@en[Browser timeline - Wikipedia, the free encyclopedia]] ([TIME[2007-06-23 02:09:59 +09:00]] 版) <http://en.wikipedia.org/wiki/Browser_timeline>
([[名無しさん]] [WEAK[2007-06-24 07:37:57 +00:00]])
[26] [CITE[Process Models - The Chromium Projects]]
( ([TIME[2013-11-15 23:46:41 +09:00]] 版))
<http://www.chromium.org/developers/design-documents/process-models>
[27] [CITE[IRC logs: freenode / #whatwg / 20090826]]
([TIME[2009-10-15 22:55:13 +09:00]] 版)
<http://krijnhoetmer.nl/irc-logs/whatwg/20090826#l-261>
[35] ( ([TIME[2014-08-29 03:52:04 +09:00]] 版))
<https://ci.testling.com/>
[36] [CITE[Check Browser Compatibility, Cross Platform Browser Test - Browsershots]]
( ([TIME[2014-08-29 03:57:48 +09:00]] 版))
<http://browsershots.org/>
[37] [CITE@en[Sauce Labs: Selenium Testing, Mobile, Cross Browser Testing & More]]
( ([[Sauce Labs]] 著, [TIME[2014-08-29 04:57:00 +09:00]] 版))
<https://saucelabs.com/>
[50] [CITE[Network Stack - The Chromium Projects]]
([TIME[2015-03-21 10:14:33 +09:00]] 版)
<https://www.chromium.org/developers/design-documents/network-stack>
[53] [CITE@en-US[the cost of monoculture | Mozilla in Asia]]
([TIME[2015-04-12 17:39:10 +09:00]] 版)
<https://blog.mozilla.org/gen/2007/02/27/the-cost-of-monoculture/>
[FIG(amazon)[
Web ブラウザー
]FIG]
[45] [CITE[Network Stack - The Chromium Projects]]
([TIME[2015-08-28 12:41:44 +09:00]] 版)
<https://www.chromium.org/developers/design-documents/network-stack>
[61] [CITE@en[Be clearer on which user agents the API applies to]]
([[annevk]]著, [TIME[2018-04-25 21:05:37 +09:00]])
<https://github.com/whatwg/encoding/commit/e72995345427463fb81ec5811a4404d591b49296>
[69] [CITE@en[Non-browser versus JavaScript · Issue #87 · whatwg/encoding]]
([TIME[2019-02-18 12:04:32 +09:00]])
<https://github.com/whatwg/encoding/issues/87>
[70] [CITE@en[Be clearer on which user agents the API applies to by annevk · Pull Request #136 · whatwg/encoding]]
([TIME[2019-02-18 12:06:36 +09:00]])
<https://github.com/whatwg/encoding/pull/136>