[1] [DFN[[CODE(URI)[irc:]] URI scheme]] は、 [[IRC]] の[[プロトコル]]を想定した URI scheme です。 非常によく使われていますが、 [[IANA]] に正式に登録されてはいません。以前 [[I-D]] が出ていましたが、 [[RFC]] にはなりませんでした。 [[W3C]] の規格でこの scheme を定義しているものもあったりします。 ** 仕様 [3] [PICS] [CITE[REC-PICS-services-961031]] は [CODE(URI)[irc:]] URI scheme を定義しています。 [2] [CITE[PICSRules Specification]] で定義されている [[URIパターン]]は、 [CODE(URI)[irc:]] scheme の URI と一致させるための構文も含んでいます。 (URI scheme 自体の定義ではありません。) * 構文 [4] PICS [SRC[PICS]] によると、[[IRC]] の[[茶室]]を表す URI の構文は [CODE(ABNF)['irc://' host '/' alphanumpm]] です。 ここで、 [CODE(ABNF)[host]] はインターネットのホスト名です。 [CODE(ABNF)[alphanumpm]] は [CODE(ABNF)[[[ALPHA]] / [[DIGIT]] / "+" / "-"]] で、意味は書かれていません。 * authority [31] [[authority]] は[[ドメイン名]]などによる指定の他、 [CODE(URI)[[[.]]]] を含まないことで[[ネットワーク名]]を指定することができます [SRC[>>18, >>15]]。 * 歴史 ** ChatZilla [15] [CITE[irc: urls in Mozilla]] ([[Robert Ginda]] 著) > [PRE(URI code)[ irc:[[(/[][]|)]] ]PRE] [45] [CODE(URI)@en[[[irc:]]]] を定義しています。 ** draft-butcher-irc-url (2004) - [18] [CITE@en[draft-butcher-irc-url-04 - Uniform Resource Locator Schemes for Internet Relay Chat Entities]] [13] 構文は >>7-9 のいずれをも認め、更に拡張されています。 [CODE(URI)[#]]も構文の一部として使われているのが特徴 (というか[[RFC 2396]]違反) ですw [23] [CODE(URI)@en[[[irc:]]]] と [CODE(URI)@en[[[ircs:]]]] を定義しています。 * 実装 [44] [CITE@en[mIRC: Chat Links]] ([[mIRC Co. Ltd.]] 著, [TIME[2011-05-18 02:15:03 +09:00]] 版) * 例 [32] [SRC[>>15]] [PRE(URI example code)[ irc: ]PRE] [33] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/ irc://moznet ]PRE] [34] [SRC[>>15]] [PRE(URI example code)[ irc://myserver/,isserver ]PRE] [35] [SRC[>>15]] [PRE(URI example code)[ irc://myserver:6667/ ]PRE] [24] [SRC[>>18]] [PRE(URI example code)[ irc://irc.undernet.org/ ]PRE] [25] [SRC[>>18]] [PRE(URI example code)[ irc://irc.ircnet.net/#worldchat,ischannel irc://irc.ircnet.net/%23worldchat,ischannel irc://irc.ircnet.net/#worldchat irc://irc.ircnet.net:6667/%23worldchat ]PRE] いずれも同じ意味です。 [36] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/%26local ]PRE] [37] [SRC[>>15]] [PRE(URI example code)[ irc://somenet/+modeless ]PRE] [47] [SRC[>>44]] [PRE(URI example code)[ irc:///mIRC ]PRE] ;; [CODE[[['''#'''mIRC]]]] [[チャンネル]] [26] [SRC[>>18]] [PRE(URI example code)[ irc://irc.alien.net.au/pickle,isuser ]PRE] [39] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/mozbot,isnick ]PRE] [40] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/mozbot,isnick?msg=uuid ]PRE] [27] [SRC[>>18]] [PRE(URI example code)[ irc://irc.austnet.org/%23foobar?key=bazqux ]PRE] [38] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/chatzilla?msg=I%20am%20reading%20the%20irc%3A%20url%20document ]PRE] [28] [SRC[>>18]] [PRE(URI example code)[ irc://undernet/pickle%25butcher.id.au,isuser ]PRE] [41] [SRC[>>15]] [PRE(URI example code)[ irc://myserver/kilroy,isserver,isnick?msg=are%20you%20here%3F ]PRE] [29] [SRC[>>18]] [PRE(URI example code)[ irc://:pass@irc.efnet.org:194/ ]PRE] [30] [SRC[>>18]] [PRE(URI example code)[ irc://%C4%B0dil:g%C3%BCzel@irc.austnet.org/ ]PRE] [20] [PRE(URI example code)[ irc://#centos@irc.freenode.net ]PRE] ;; [CITE['''['''CentOS-announce''']''' Release for CentOS-5.6 i386 and x86_64]] ([TIME[2011-04-09 08:20:47 +09:00]] 版) [42] [SRC[>>15]] [PRE(URI example code)[ irc://moznet/sekret,needkey ]PRE] [43] [SRC[>>15]] [PRE(URI example code)[ irc://myprivateserver/opers,isserver,needpass,needkey ]PRE] [11] [CODE(URI example)@en[irc:irc.freenode.net#microformats]] [[Tantek]]が使ってた。 ([[名無しさん]] [WEAK[2006-03-04 11:11:30 +00:00]]) [46] [SRC[>>44]] [PRE(URI example code)[ irc://irc.undernet.org:6667/mIRC?secret ]PRE] * メモ [5] [CITE[talking IRCStep]] ([[名無しさん]]) [6] [[IRC]] の[[チャンネル]]名は [SAMP[#foo]] のように表します。 [[URI]] による表記は複数の流儀があります。 - [7] [SAMP(URI)[irc://example.net/foo]] : [CODE(char)[#]] を省略。 - [8] [SAMP(URI)[irc://example.net/%23foo]] : [CODE(char)[#]] は[[予約]]されているので[[百分率符号化]]。 - [9] [SAMP(URI)[irc://example.net/#foo]]: [CODE(char)[#]] はそのまま。こうすると [SAMP(URI)[foo]] は[[素片識別子]]扱いになる。 ところで鯖指定無しの - [10] [SAMP(URI)[irc:foo]] のような表記があってもよさそうなものですが、まだ見たことがありません。 ([[名無しさん]] [sage] [WEAK[2005-06-22 03:33:06 +00:00]]) [12] >>5 で示されている構文: > irc://IRCNetwork名/{チャネル名|ニックネーム} [14] [CITE[Irc-url Info Page]] [21] [CITE@en[Come into IRC]] ([TIME[2011-06-11 22:07:20 +09:00]] 版) > [PRE(URI code)[ HTTP://IRC.LC/// ]PRE] [22] >>21 自体は [CODE(URI)@en[[[http:]]]] [[URL]] を使っていますが、 [CITE@en[Use IRC URLs with your browser : irc://]] ([TIME[2011-06-11 22:08:21 +09:00]] 版) ではこれを [CODE(URI)@en[[[irc:]]]] [[URL]] に使う方法が説明されています。