nntp

news: URL scheme、nntp: URL scheme

[1] news:nntp: は、USENET ネットニュースを表す URL scheme です。 元々は news:プロトコル非依存の記事、 nntp:NNTP を表していたようですが、 次第に区別が曖昧となり、実装によっては同義として扱っているようです。

[33] また snews: は、 NNTP over SSL/TLS を表していましたが、歴史的 >>5 とされています。

[4] ネットニュースの衰退により、現在ではほとんど使われなくなっています。

本項は歴史的事項を説明しています。本項の内容の一部または全部は、現在の状況とは異なるかもしれません。

(なお本項の内容の一部または全部は、互換性または歴史的連続性のために現在も有効な場合もあります。しかし新たに利用することは避けるべきです。)

目次

  1. 仕様書
  2. 構文
    1. 記事のメッセージID
    2. ニュースグループ
    3. 鯖と記事のメッセージID
    4. 鯖とニュースグループ群
    5. 鯖とニュースグループ
    6. 鯖とニュースグループと記事番号
  3. ニュースグループ
  4. 記事番号
  5. メッセージID
  6. 歴史
    1. 記事群を表す URI
    2. 記事を表す URI

仕様書#

[37] RFC 5538 は実際に使われている URL の一部のみしかカバーしていないようですが、 その範囲がどのように選ばれたのかは明確ではありません。複数の実装があっても RFC に含まれていない構文もあれば、実装されていないことがあっても RFC には含まれている構文もあるようです。

構文#

記事のメッセージID#

[17] news:メッセージIDを指定することで、 (特定のに限定されない) 記事を表します >>5

news:snews:メッセージID

[21] アクセス時には、設定による既定のを使います >>5

ニュースグループ#

[18] news:ニュースグループの名前を指定することで、 (特定のに限定されない) ニュースグループ群を表します >>5

news:snews:ニュースグループ

[22] アクセス時には、設定による既定のを使います >>5

鯖と記事のメッセージID#

[19] news:///メッセージIDを指定することで、 特定のの記事を表します >>5

news://snews://authority/メッセージID

鯖とニュースグループ群#

[20] news:///ニュースグループの名前を指定することで、 特定のニュースグループ群を表します >>5

news://snews://authority/ニュースグループ

鯖とニュースグループ#

[7] nntp://authority/ニュースグループの名前を指定することで、 特定のニュースグループを表すことができます >>5

nntp://authority/ニュースグループ

鯖とニュースグループと記事番号#

[7] nntp://authority/ニュースグループの名前と / と記事番号を指定することで、 特定のニュースグループに含まれる記事を表すことができます >>5

nntp://authority/ニュースグループ/記事番号

#

[11] authorityを表します >>5

RFC 3986 が参照されています >>5

[36] snews:既定のポート番号119 です。

[34] snews:既定のポート番号563 です >>5

ニュースグループ#

[10] nntp: URL で指定するニュースグループは、 1つ以上の文字かパーセント符号化により表現します。 ここで文字は、ASCIIラテン文字ASCII数字-+_. のいずれかです。 >>5

ASCIIラテン文字ASCII数字-+_.

[14] RFC 5536 (USEFOR) で認められているニュースグループ名は、 パーセント符号化なしで表現できます。 RFC 3977 (NNTP) では更にそれ以外の記号や非ASCII文字も使えますが、 それを表すにはパーセント符号化が必要です。 >>5

[26] news: URL で指定するニュースグループ群は、 RFC 3977 wildmat-pattern です。すなわち、 ニュースグループの名前に加えてワイルドカードである *? を使うことができます。 >>5

[27] ただし ?パーセント符号化が必要です >>5

[28] なお、 空文字列は、 * と等価です >>5

[29] ワイルドカードがなければ、特定のニュースグループを表しており、 利用者エージェントは普通は記事一覧を表示します >>5

[30] ワイルドカードがあれば、利用者エージェントは該当するニュースグループの一覧を表示できます >>5

[31] 利用者エージェントによっては、 ワイルドカード無しの指定と * のみの指定にしか対応していません >>5

記事番号#

[16] 記事番号は、1-16桁のASCII数字で、 RFC 3977 (NNTP) によるものです >>5

ASCII数字

メッセージID#

[23] メッセージIDは、記事の Message-ID: ヘッダーのうち、 <> を除いたもの (RFC 5536) です >>5

[24] ただし、 gen-delims%パーセント符号化しなければなりません >>5

[25] 解釈するエージェントは、すべてのパーセント符号化復号する必要があります >>5

[32] なお、ニュースグループメッセージIDは、 @ の有無によって区別します >>5メッセージID には歴史的に @ が含まれることとなっています。 RFC 3977 (NNTP) によれば @ が含まれることは要求されていませんが、 RFC 2822USEFOR によれば記事の構文上は @ が要求されています。

歴史#

[3]

RFC 1738 にはありませんが、lynx 等と同じ様な以下の URL を
解釈する様にしました。
news: は、nntp: の <host>:<port> が、オプション nntpserver
(環境変数 NNTPSERVER) の値になる以外は nntp: と同じになります。
# lynx 等では、news://<host>:<port>/ とか <host>:<port> なしの
# nntp: も使える(news: と nttp: が完全に同じ)様だけど見送り。
[記事の取得]
    nntp://<host>:<port>/<newsgroup-name>/<article-number>  (RFC 1738)
    nntp://<host>:<port>/<newsgroup-name>/<message-id>
    nntp://<host>:<port>/<message-id>
    news:<newsgroup-name>/<article-number>
    news:<newsgroup-name>/<message-id>
    news:<message-id>  (RFC 1738)
[Newgroup の記事のリスト]
    nntp://<host>:<port>/<newsgroup-name>
    nntp://<host>:<port>/<newsgroup-name>/<start-number>-<end-number>
    news:<newsgroup-name>  (RFC 1738)
    news:<newsgroup-name>/<start-number>-<end-number>
推奨はしませんし、内部でも使わないようにしていますが、
news:<newsgroup-name>/<start-number>-<end-number> は使わざる
をえないので使っています。
# news:<newsgroup-name>#<start-number> にしていたのですが
# lynx 等に合わせました。

[6] RFC 1738 によって標準化された後、実装との乖離が大きくなり、 また RFC 2396 その他により RFC 1738廃止されながらも改訂されず有効な仕様書が存在しない状態で長年放置されていましたが、 2010年にようやく RFC 5538 が出版されました。

[35] RFC 5538 は、 NNTP over TLS非推奨であるとして、 snews: を状態「歴史的」でIANA登録簿に登録しています。 構文は news: と同じと述べています。 >>5

#

[2] news:*はすべてのニュース・グループを表します。

記事群を表す URI#

  • [8] nntp://server.name:port/news.group
  • [9] nntp://server.name:port/news.group/no1-no2 ;; 記事番号 no1no22- のような書き方もある
  • [13] nntp://server.name:port/ ;; サーバー

記事を表す URI#

  • [12] nntp://server.name/msg-id
  • [15] nntp://server.name:port/msg-id
  • [15] nntp://server.name:port/no ;; 記事番号 no の記事。 RFC1738

[564] news/nntp/snews - URL Programmer's Manual ( ( 版)) <http://www.gnu.org/software/emacs/manual/html_node/url/news_002fnntp_002fsnews.html>

[565] 226890 – Thunderbird doesn't handle news: and nntp: URLs properly (RFC 5538) ( ( 版)) <https://bugzilla.mozilla.org/show_bug.cgi?id=226890>

[566] URL Schemes Supported in Lynx ( ( 版)) <http://lynx.isc.org/current/breakout/lynx_help/lynx_url_support.html#news_url>

[567] Web Applications 1.0 r8872 Add openpgp4fpr: scheme to whitelist for registration ( ( 版)) <https://html5.org/r/8872>

[568] Web Applications 1.0 r8878 Put back nntp to the scheme whitelist, since it was removed completely accidentally. ( ( 版)) <https://html5.org/r/8878>