<?xml version="1.0" encoding="US-ASCII" ?>
<!DOCTYPE rfc SYSTEM "http://xml.resource.org/authoring/rfc2629.dtd" [
    <!ENTITY rfc0822 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.0822.xml'>
    <!ENTITY rfc1738 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.1738.xml'>
    <!ENTITY rfc2017 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2017.xml'>
    <!ENTITY rfc2046 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2046.xml'>
    <!ENTITY rfc2119 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
    <!ENTITY rfc2595 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2595.xml'>
    <!ENTITY rfc2822 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2822.xml'>
    <!ENTITY rfc2980 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2980.xml'>
    <!ENTITY rfc3629 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3629.xml'>
    <!ENTITY rfc3977 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3977.xml'>
    <!ENTITY rfc3986 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3986.xml'>
    <!ENTITY rfc3987 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3987.xml'>
    <!ENTITY rfc4156 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4156.xml'>
    <!ENTITY rfc4157 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4157.xml'>
    <!ENTITY rfc4248 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4248.xml'>
    <!ENTITY rfc4266 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4266.xml'>
    <!ENTITY rfc4289 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4289.xml'>
    <!ENTITY rfc4395 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4395.xml'>
    <!ENTITY rfc4642 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4642.xml'>
    <!ENTITY rfc4643 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4643.xml'>
    <!ENTITY rfc4952 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4952.xml'>
    <!ENTITY rfc5064 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5064.xml'>
    <!ENTITY rfc5234 PUBLIC ''
    'http://xml.resource.org/public/rfc/bibxml/reference.RFC.5234.xml'>
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>


<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc rfcedstyle="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>

<rfc number="5538" obsoletes="1738" category="std">

<front>
    <title abbrev="'news' and 'nntp' URIs">
        The 'news' and 'nntp' URI Schemes
    </title>
    <author initials="F." surname="Ellermann" fullname="Frank Ellermann">
        <organization>xyzzy</organization>
        <address>
            <postal>
                <street></street>
                <city>Hamburg</city>
                <region>Germany</region>
            </postal>
            <email>hmdmhdfmhdjmzdtjmzdtzktdkztdjz@gmail.com</email>
            <uri>http://purl.net/xyzzy/</uri>
        </address>
    </author>

    <date month="April" year="2009"/>

<note title="">
 <t>
  This document may contain material from IETF Documents or IETF
  Contributions published or made publicly available before November 10,
  2008. The person(s) controlling the copyright in some of this material
  may not have granted the IETF Trust the right to allow modifications
  of such material outside the IETF Standards Process.  Without
  obtaining an adequate license from the person(s) controlling the
  copyright in such materials, this document may not be modified outside
  the IETF Standards Process, and derivative works of it may not be
  created outside the IETF Standards Process, except to format it for
  publication as an RFC or to translate it into languages other than
  English.
 </t>
</note>

    <abstract><t>
        This memo specifies the 'news' and
        'nntp' Uniform Resource Identifier
        (URI) schemes that were originally defined in RFC 1738.
        The purpose of this document is to allow RFC 1738
        to be made obsolete while keeping the information about these
        schemes on the Standards Track.
    </t></abstract>


</front><middle>

<section title="Introduction"><t>
    The first definition for many URI schemes appears in
    <xref target="RFC1738" />.  This memo extracts the
    'news' and 'nntp' URI schemes from it to allow that material to
    remain on the Standards Track
    if <xref target="RFC1738" /> is moved to &quot;historic&quot; status.
    It belongs to a series of similar documents like
    <xref target="RFC4156" />,
    <xref target="RFC4157" />,
    <xref target="RFC4248" />, and
    <xref target="RFC4266" />, which are discussed on the
    <eref target="mailto:uri@w3.org" /> list.

</t><t>
    The definitions for the 'news' and
    'nntp' URI schemes given here are
    updates from <xref target="RFC1738" /> based on modern usage of these
    schemes. This memo intentionally limits its description of the 'news'
    URI scheme to essential features supposed to work with "any browser"
    and Network News Transfer Protocol (NNTP) server.
</t><t>
    <xref target="RFC3986" /> specifies how to define schemes for URIs;
    it also explains the term "Uniform Resource Locator" (URL).
    The Network News Transfer Protocol (NNTP) is specified in
    <xref target="RFC3977" />. The Netnews Article
    Format is defined in <xref target="RFC5536" />.

</t><t>
    The key word "MUST" in this memo is to be interpreted as described in
    <xref target="RFC2119" />.  UTF-8 is specified in
    <xref target="RFC3629" />.  The syntax uses the ABNF defined in
    <xref target="RFC5234" />.

</t></section>

<section title="Background"><t>
    The 'news' and 'nntp'
    URI schemes identify resources on an NNTP server, individual articles,
    individual newsgroups, or sets of newsgroups.

</t><t>
    User agents like Web browsers supporting these schemes use the NNTP
    protocol to access the corresponding resources. The details of how they
    do this, e.g., employing a separate or integrated newsreader, depend
    on the implementation. The default &lt;port&gt;
    associated with NNTP in <xref target="RFC3977" /> is 119.

</t><section title="'nntp' URIs"><t>
    The 'nntp' URI scheme identifies articles in
    a newsgroup on a specific NNTP server.  In <xref target="RFC3986" />
    terminology, this means that 'nntp' URIs have a
    non-empty &lt;authority&gt; component; there is no default &lt;host&gt;
    as for the 'file' or 'news' URI schemes.

</t><t>
    Netnews is typically distributed among several news servers, using the
    same newsgroup names but local article numbers.  An article available
    as number 10 in group <spanx style="verb">example</spanx>
    on server <spanx style="verb">news.example.com</spanx> has most likely
    a different number on any other server where the same article is still
    available. Users allowed to read and post articles on "their" server
    may not be allowed to access articles on an "arbitrary" server
    specified in an 'nntp' URI.

</t><t>
    For these reasons, the use of the 'nntp' URI
    scheme is limited, and it is less widely supported by user agents than
    the similar 'news' URI scheme.

</t></section><section title="'news' URIs" anchor="disambiguation"><t>
    The 'news' URI scheme identifies articles by
    their worldwide unique <spanx style="verb">Message-ID</spanx>, independent
    of the server and the newsgroup.  Newsreaders support access to articles by
    their <spanx style="verb">Message-ID</spanx>, without the
    overhead of a URI scheme. In simple cases, they do this directly
    as an NNTP client of a default or currently used server as configured by the user.
    More general user agents use the 'news' URI
    scheme to distinguish <spanx style="verb">Message-IDs</spanx> from similar
    constructs such as other URI schemes in contexts such as a plain text message
    body.

</t><t>
    The 'news' URI scheme also allows the identification of
    newsgroups or sets of newsgroups independent of a specific server. For
    Netnews, a group <spanx style="verb">example</spanx> has the same name
    on any server carrying this group, exotic cases involving gateways not
    withstanding. To distinguish <spanx style="verb">Message-IDs</spanx> and
    newsgroup names, the 'news' URI scheme relies on the
    <spanx style="verb">@</spanx> between local part (left-hand side) and
    domain part (right-hand side) of <spanx style="verb">Message-IDs</spanx>.

</t><t>
    <xref target="RFC1738" /> offered only one wildcard for sets of newsgroups
    in 'news' URIs, a <spanx style="verb">*</spanx>
    used to refer to "all available newsgroups". In common practice, this was
    extended to varying degrees by different user agents.  An NNTP extension known
    as &lt;wildmat&gt;, specified in <xref target="RFC2980" />
    and now part of the base NNTP specification, allows pattern matching in
    the style of the <xref target="POSIX" />
    <spanx style="verb">find</spanx> command. For the
    purpose of this memo, this means that some additional special characters
    have to be allowed in 'news' URIs, some of them
    percent-encoded as required by the overall <xref target="RFC3986" /> URI
    syntax. User agents and NNTP servers not yet compliant with
    <xref target="RFC3977" /> do not implement all parts of this new feature.

</t><t>
    Another commonly supported addition to the <xref target="RFC1738" />
    syntax is the optional specification of a server at the beginning of
    'news' URIs. This optional
    &lt;authority&gt; component follows the overall
    <xref target="RFC3986" /> syntax, preceded by a double slash
    <spanx style="verb">//</spanx> and terminated by the next slash
    <spanx style="verb">/</spanx>, question mark
    <spanx style="verb">?</spanx>, number sign
    <spanx style="verb">#</spanx>, or the end of the URI.

</t></section><section title="Query Parts, Fragments, and Normalization"><t>
    Fragments introduced by a number sign <spanx style="verb">#</spanx>
    are specified in <xref target="RFC3986" />; the semantics is
    independent of the URI scheme, and the resolution depends on the media
    type.

</t><t>
    This memo doesn't specify a query part introduced by a question mark
    <spanx style="verb">?</spanx>
    for the 'news' and 'nntp' URI schemes, but some implementations are
    known to use query parts instead of fragments internally to address
    parts of a composite media type <xref target="RFC2046" /> in
    Multipurpose Internet Mail Extensions (MIME).

</t><t>
    There are no special <spanx style="verb">.</spanx> or
    <spanx style="verb">..</spanx> path segments in
    'news' and 'nntp'
    URLs.  Please note that <spanx style="verb">.</spanx> and
    <spanx style="verb">..</spanx> are not valid &lt;newsgroup-name&gt;s.

</t><t>
    URI producers have to percent-encode some characters as specified
    <xref target="news">below</xref>;
    otherwise, they MUST treat a <spanx style="verb">Message-ID</spanx>
    without angle brackets for 'news' URLs as is,
    i.e.,&nbsp;case-sensitive, preserving quoted pairs and quoted strings.

</t></section></section>

<section title="Syntax of 'nntp' URIs"><t>
    An 'nntp' URI identifies an article by its
    number in a given newsgroup on a specified server, or it identifies
    the newsgroup without article number.

</t><figure><artwork type="abnf">
    nntpURL         = "nntp:" server "/" group [ "/" article-number ]
    server          = "//" authority               ; see RFC 3986
    group           = 1*( group-char / pct-encoded )
    article-number  = 1*16DIGIT                    ; see RFC 3977
    group-char      = ALPHA / DIGIT / "-" / "+" / "_" / "."
</artwork></figure><t>

    In the form with an &lt;article-number&gt;, the URL corresponds roughly
    to the content of an &lt;xref&gt; header field as specified in
    <xref target="RFC5536" />, replacing its more general
    &lt;article&nbhy;locator&gt; by the &lt;article&nbhy;number&gt; used
    with the NNTP.

</t><t>
    A &lt;newsgroup-name&gt; as specified in
    <xref target="RFC5536" />
    consists of dot-separated components.  Each
    component contains one or more letters, digits,
    <spanx style="verb">-</spanx> (hyphen-minus),
    <spanx style="verb">+</spanx>, or
    <spanx style="verb">_</spanx> (underscore).  These characters can be
    directly used in a segment of a path in an <xref target="RFC3986" />
    URI; no percent-encoding is necessary.  Example:

</t><figure><artwork>
    nntp://news.server.example/example.group.this/12345
</artwork></figure><t>

    A &lt;wildmat-exact&gt; newsgroup name as specified in
    <xref target="RFC3977" />
    allows (in theory) any &lt;UTF8-non-ascii&gt;
    (see <xref target="i18n" />)
    and most printable
    US&nbhy;ASCII characters, excluding
    <spanx style="verb">!</spanx>,
    <spanx style="verb">*</spanx>,
    <spanx style="verb">,</spanx>,
    <spanx style="verb">?</spanx>,
    <spanx style="verb">[</spanx>,
    <spanx style="verb">\</spanx>, and
    <spanx style="verb">]</spanx>.
    However, <xref target="RFC5536" /> does not (yet) permit
    characters outside of &lt;group-char&gt; and so, to keep the syntax
    simple, the additional characters are here covered by &lt;pct-encoded&gt;
    as defined in <xref target="RFC3986" />, since most of them have to be
    percent-encoded anyway (with a few exceptions, such as
    <spanx style="verb">:</spanx>,
    <spanx style="verb">;</spanx>, and <spanx style="verb">~</spanx>).
    Example:

</t><figure><artwork>
    nntp://wild.server.example/example.group.n%2Fa/12345
</artwork></figure><t>

    In the form without &lt;article-number&gt;, the URL identifies a single
    group on the specified server.  This is also possible with an equivalent
    'news' URL, and the latter is better supported
    by user agents. Example:

</t><?rfc needLines="3" ?><figure><artwork>
    nntp://news.server.example/example.group.this
    news://news.server.example/example.group.this
</artwork></figure></section>

<section title="Syntax of 'news' URIs" anchor="news"><t>
    A 'news' URI identifies an article by its
    unique <spanx style="verb">Message-ID</spanx>, or it identifies a
    set of newsgroups.  Additionally, it can specify a server; without
    the 'news' URI, a configured default server for Netnews access is used.

</t><t>
    The syntax shown below explains how to transform a syntactically
    valid &lt;newsgroup-name&gt; or &lt;msg-id-core&gt; as specified
    in <xref target="RFC5536" /> into the
    corresponding &lt;newsgroups&gt; or &lt;article&gt; part of a
    'news' URI.  The transformation from a formally valid 'news'
    URI back to a &lt;newsgroup-name&gt; or &lt;msg-id-core&gt;
    is not guaranteed to be syntactically valid.

</t><figure><artwork type="abnf">
    newsURL         = "news:" [ server "/" ] ( article / newsgroups )
    article         = mid-left "@" mid-right
    newsgroups      = *( group-char / pct-encoded / "*" )

    mid-left        = 1*( mid-atext / "." ) /      ; &lt;dot-atom-text&gt;
                      ( "%22" mid-quote "%22" )    ; &lt;no-fold-quote&gt;
    mid-quote       = 1*( mid-atext / "." /        ; &lt;mqtext&gt; incl.
                          mid-special /            ; '\"' / "[" / "]"
                          "%5C%22" / "%5B" / "%5D" )

    mid-right       = 1*( mid-atext / "." ) /      ; &lt;dot-atom-text&gt;
                      ( "%5B" mid-literal "%5D" )  ; &lt;no-fold-literal&gt;
    mid-literal     = 1*( mid-atext / "." /        ; &lt;mdtext&gt; incl.
                          mid-special /            ; '"' / "\[" / "\]"
                          "%22" / "%5C%5B" / "%5C%5D" )

    mid-special     = "(" / ")" / "," / ":" / ";" /
                      "%3C" / "%40" / "%5C%5C"     ; "&lt;" / "@" / "\\"

    mid-atext       = ALPHA / DIGIT /              ; RFC 2822 &lt;atext&gt;
                      "!" / "$" / "&amp;" / "'" /      ; allowed sub-delims
                      "*" / "+" / "=" /            ; allowed sub-delims
                      "-" / "_" / "~" /            ; allowed unreserved
                      "%23" / "%25" / "%2F" /      ; "#" / "%" / "/"
                      "%3F" / "%5E" / "%60" /      ; "?" / "^" / "`"
                      "%7B" / "%7C" / "%7D"        ; "{" / "|" / "}"
</artwork></figure><t>
    The form identifying an &lt;article&gt; corresponds to the
    &lt;msg-id-core&gt; construct in
    <xref target="RFC5536" />; it is a
    <spanx style="verb">Message-ID</spanx> without angle brackets.
    Characters not directly allowed in this part of
    an <xref target="RFC3986" /> URI have to be percent-encoded,
    minimally anything that is not &lt;unreserved&gt;,
    no <spanx style="verb">:</spanx> (colon), and
    doesn't belong to the &lt;sub&nbhy;delims&gt;.

<!--[rfced] Please clarify the above sentence.

Suggested: 
   Characters not directly allowed in this part of an [RFC3986] URI
   have to be percent-encoded. At a minimum, anything that is
   not <unreserved>, has no ":" (colon), and does not belong to the
   <sub-delims> has to be percent-encoded.
-->

</t><t>
    Several details of a canonical &lt;msg-id-core&gt; are omitted
    here, e.g., leading, adjacent, or trailing dots are not allowed
    in &lt;dot&nbhy;atom&nbhy;text&gt;.
    The syntax mainly shows which characters MUST be percent-encoded in
    a &lt;mid-left&gt; (local part) or &lt;mid-right&gt; (domain part).

</t><t>
    Please note that <spanx style="verb">%20</spanx> (space) and
    <spanx style="verb">%3E</spanx> (<spanx style="verb">&gt;</spanx>)
    are not allowed.  A <spanx style="verb">%5C</spanx>
    (backslash, <spanx style="verb">\</spanx>) can only occur in
    four combinations, as shown above.  Examples:

</t><figure><artwork>
    news://server.example/ab.cd@example.com
    news:%22do..ts%22@example.com
    news:ab.cd@%5B2001:DB8::CD30%5D
</artwork></figure><t>

    The form identifying &lt;newsgroups&gt; corresponds to the
    <xref target="RFC3977" /> &lt;wildmat&nbhy;pattern&gt;, a
    newsgroup name with wildcards <spanx style="verb">*</spanx> and
    <spanx style="verb">?</spanx>.  Any <spanx style="verb">?</spanx>
    has to be percent-encoded as <spanx style="verb">%3F</spanx>
    in this part of a URI.  Examples (the first two are equivalent):

</t><figure><artwork>
    news://news.server.example/*
    news://news.server.example/
    news://wild.server.example/example.group.th%3Fse
    news:example.group.*
    news:example.group.this
</artwork></figure><t>

    Without wildcards, this form of the URL identifies a single group
    if it is not empty.  User agents would typically try to present
    an overview of the articles available in this group, likely
    somehow limiting this overview to the newest unread articles up to
    a configured maximum.

</t><t>
    With wildcards, user agents could try to list matching group names
    on the specified or default server.  Some user agents support only
    a specific &lt;group&gt; without wildcards, or an optional single
    <spanx style="verb">*</spanx>.

</t><t>
    As noted <xref target="disambiguation">above</xref>,
    the presence of an <spanx style="verb">@</spanx>
    in a 'news' URI disambiguates &lt;article&gt; and &lt;newsgroups&gt;
    for URI consumers.  The new &lt;message-id&gt; construct specified
    in <xref target="RFC3977" /> does not require an
    <spanx style="verb">@</spanx>.  Since <xref target="RFC0822" />,
    the <spanx style="verb">Message-ID</spanx> syntax has been closely

<!--[rfced] Please note the above edit from "was closely" to "has been
closely", and let us know if this needs to be reverted.-->

    related to the syntax of mail addresses with an
    <spanx style="verb">@</spanx> separating left-hand side (local
    part of addresses, unique part of message identifiers) and
    right-hand side (domain part), and this memo sticks to the known
    <xref target="RFC1738" /> practice.

</t></section>

<section title="Acknowledgments"><t>
    Henry Spencer was the driving force to adopt MIME in Netnews;
    he registered the MIME 'message/external-body' access type
    'news&nbhy;message&nbhy;ID', discussed
    <xref target="mime">below</xref>, in 1993 for
    <xref target="SON-OF-1036" />.
</t><t>
    "The 'news' URL scheme" <xref target="GILMAN" />, by
    Alfred S. Gilman (March 1998), introduced additions
    to the original <xref target="RFC1738" /> 'news'
    URI scheme.  Some of these ideas are now widely supported and reflected by
    the revised 'news' URI scheme specified here.
</t><t>
    Thanks to Alfred Hoenes, Charles Lindsey, Clive Feather, Chris Newman,
    Ken Murchinson, Kjetil T. Homme, Lars Magne Ingebrigtsen,
    Martin D&uuml;rst, Matt Seitz, Nicolas Krebs,
    Paul Hoffman, Pasi Eronen, Roy T. Fielding, Russ Allbery, St&eacute;phane Bortzmeyer,
    and Tom Petch for their feedback, contributions, or encouragement.
</t><t>
    Bill Fenner's <spanx>xml2rfc validator</spanx> and
    <spanx>ABNF checker</spanx> were a great help in the creation
    of (not only) this memo. The same goes for various great
    <spanx>IETF&nbsp;tools</spanx> written by Henrik&nbsp;Levkowetz.
</t></section>

<section title="Internationalization Considerations" anchor="i18n"><t>
    The URI schemes were updated to support percent-encoded UTF-8
    characters in NNTP newsgroup names as specified in
    <xref target="RFC3977" /> and <xref target="RFC3987" />.

</t><t>
    The Netnews Article Format in <xref target="RFC5536" />
    does not yet allow UTF-8 in &lt;newsgroup-name&gt;s; therefore,
    well-known Unicode and UTF-8 security considerations are not listed
    below.  For an overview, see <xref target="UTR36" /> and
    <xref target="RFC3629" />.

</t><t>
    The work on Email Address Internationalization (EAI), started in
    <xref target="RFC4952" />, is not expected to change the syntax of a
    <spanx style="verb">Message-ID</spanx>. The work on a successor of
    <xref target="RFC2822" /> hopefully ends up with a simplified
    syntax
<!--[rfced] RFC 2822 was obsoleted by RFC 5322. Let us
    know how to update this sentence or if this sentence should be
    removed.-->

    for both sides of a <spanx style="verb">Message-ID</spanx>.

</t></section>

<section title="Security Considerations"><t>
    There are many security considerations for URI schemes discussed in
    <xref target="RFC3986" />.  The NNTP protocol may use passwords in the
    clear for authentication or offer no privacy, both of which are
    considered extremely unsafe in current practice.  Alternatives and
    further security considerations with respect to the NNTP are discussed
    in <xref target="RFC4642" /> and <xref target="RFC4643" />.

</t><t>
    The syntax for the 'news' and 'nntp' URI schemes contains the general
    &lt;authority&gt; construct with an optional &lt;userinfo&gt; defined
    in <xref target="RFC3986" />.  As noted in <xref target="RFC3986" />, the
    <spanx style="verb">user:password</spanx> form of a &lt;userinfo&gt;
    is deprecated.

</t><t>
    Articles on NNTP servers typically expire after some time.  After that
    time, corresponding 'news' and 'nntp' URLs may not work anymore depending
    on the server.  
While a <spanx style="verb">Message-ID</spanx> is
    supposed to be worldwide unique forever, the NNTP protocol does not
    guarantee this.  Under various conditions depending on the servers, the
    same <spanx style="verb">Message-ID</spanx> could be used for different
    articles, and attackers could try to distribute malicious content for
    known 'news' or 'nntp' URLs.

</t><t>
    If a URI does not match the generic syntax in <xref target="RFC3986" />,
    it is invalid, and broken URIs can cause havoc.
    Compare <xref target="RFC5064" /> for similar security
    considerations.

</t></section>

<section title="IANA Considerations" anchor="iana"><t>
    The IANA registry of URI schemes has been updated to point to this memo
    instead of <xref target="RFC1738" /> for the
    'news' and 'nntp' URI schemes.

</t><section title="'snews' URIs"><t>
    This section contains the <xref target="RFC4395" /> template for the
    registration of the historical 'snews' scheme specified in
    <xref target="GILMAN" />.
</t><t>
    <list style="hanging" hangIndent="19">
    <t hangText="URI scheme name:">
    snews
</t><t hangText="Status:">
    historical
</t><t hangText="URI scheme syntax:">
    Same as for <xref target="news">'news'</xref>
</t><t hangText="URI scheme semantics:"><vspace />
    Syntactically equivalent to 'news', but using NNTP over
    SSL/TLS (SSL/TLS with security layer is negotiated immediately after
    establishing the TCP connection) with a default port of 563,
    registered as <spanx style="verb">nntps</spanx>
</t><t hangText="Encoding considerations:"><vspace />
    Same as for <xref target="i18n">'news'</xref>
</t><t hangText="Applications/protocols that use this URI scheme name:"><vspace />
    For some user agents, 'snews' URLs trigger the
    use of <spanx style="verb">nntps</spanx> instead of NNTP for their access
    on Netnews
</t><t hangText="Interoperability considerations:"><vspace />
    This URI scheme was not widely deployed; its further use is deprecated in
    favor of ordinary 'news' URLs in conjunction
    with NNTP servers supporting <xref target="RFC4642" />
</t><t hangText="Security considerations:"><vspace />
    See <xref target="RFC4642" />; the use of a dedicated port for
    secure variants of a protocol was discouraged in <xref target="RFC2595" />
</t><t hangText="Contact:">
    <eref target="mailto:uri@w3.org" /> (URI mailing list)
</t><t hangText="Change controller:">
    IETF
</t><t hangText="References:">
    RFC &rfc.number;,
    <xref target="RFC4642" />, <xref target="GILMAN" />

<!-- [rfced] Should the references RFC 4642 and GILMAN be added to the 
   IANA registry? Currently it lists this document as the only
   reference for snews:
   http://www.iana.org/assignments/uri-schemes.html
-->

</t></list></t></section>

<section title="'news-message-ID' Access Type" anchor="mime"><t>
    The MIME 'news-message-ID' access type was erroneously listed as
    subtype.  IANA has removed 'news-message-ID' from the application
    subtype registry, and has added it to the access types registry defined in
    <xref target="RFC4289" />.
</t><t>
    <xref target="RFC4289" /> requires an RFC for the access types
    registry. Because <xref target="SON-OF-1036" /> was never published
    as an RFC, the following paragraph quotes the relevant definition:

<list><t>
    NOTE: In the specific case where it is desired to essentially
    make another article PART of the current one, e.g., for annotation
    of the other article, MIME's "message/external-body" convention can
    be used to do so without actual inclusion.  "news-message-ID" was
    registered as a standard external-body access method, with a
    mandatory NAME parameter giving the  message ID and an optional SITE
    parameter suggesting an NNTP site that might have the article available
    (if it is not available locally), by IANA 22 June 1993.

</t></list>
    Please note that 'news' URLs offer a very similar and (today)
    more common way to access articles by their Message-ID; compare
    <xref target="RFC2017" />.
</t></section></section>

</middle><back>
    <references title="Normative References">
        &rfc2119;
        &rfc3977;
        &rfc3986;
        &rfc5234;

<reference anchor="RFC5536">
	<front>
<title>Netnews Article Format</title>
	<author initials="C" surname="Lindsey" fullname="Charles Lindsey">
<organization/>
</author>
<date month="April" year="2009"/>
</front>
<seriesInfo name="RFC" value="5536"/>
</reference>

    </references>

    <references title="Informative References">
        &rfc0822;
        <reference
            anchor='SON-OF-1036'
            target='ftp://ftp.zoo.toronto.edu/pub/news.txt.Z'>
<!--[rfced] This URL no longer works. Is this document available from 
somewhere more stable?-->
        <front>
            <title>News Article Format and Transmission</title>
            <author initials='H.' surname='Spencer'
                    fullname='Henry Spencer'>
                    <organization />
            </author>
            <date month='June' year='1994' />
        </front>
        </reference>
        &rfc1738;
        &rfc2017;
        &rfc2046;
        <reference
            anchor="GILMAN">
        <front>
            <title>The 'news' URL scheme</title>
            <author initials='A.' surname='Gilman'
                    fullname='Alfred S. Gilman'>
                    <organization />
            </author>
            <date month='March' day='4' year='1998' />
        </front>
        <seriesInfo name='Work in' value='Progress' />
        </reference>
        &rfc2595;
        &rfc2822;
        &rfc2980;
        &rfc3629;
        <reference
            anchor='POSIX'>
        <front>
            <title>The Open Group Base Specifications Issue 6</title>
            <author>
            <organization>Institute of Electrical and Electronics Engineers</organization>
            </author>
        <date />
        </front>
        <seriesInfo name="IEEE" value="Standard 1003.1, 2004 edition" />
        </reference>
        &rfc3987;
        &rfc4156;
        &rfc4157;
        &rfc4248;
        &rfc4266;
        &rfc4289;
        &rfc4395;
        <reference
            anchor='UTR36'>
        <front>
            <title>Unicode Security Considerations</title>
            <author initials='M.' surname='Davis'
                    fullname='Mark Davis'>
                    <organization />
            </author>
            <author initials='M.' surname='Suignard'
                    fullname='Michael Suignard'>
                    <organization />
            </author>
            <date month='August' day='11' year='2006' />
        </front>
        <seriesInfo name='Unicode Technical Reports' value='#36' />
        </reference>
        &rfc4642;
        &rfc4643;
        &rfc4952;
        &rfc5064;
    </references>

    <section title="Collected ABNF" anchor="abnf"><t>
    In addition to the syntax given above, this appendix also lists the
    sources of terms used in comments and the prose:

    </t><figure><artwork type="abnf">
    nntpURL         = "nntp:" server "/" group [ "/" article-number ]
    server          = "//" authority               ; see RFC 3986
    group           = 1*( group-char / pct-encoded )
    article-number  = 1*16DIGIT                    ; see RFC 3977
    group-char      = ALPHA / DIGIT / "-" / "+" / "_" / "."

    newsURL         = "news:" [ server "/" ] ( article / newsgroups )
    article         = mid-left "@" mid-right
    newsgroups      = *( group-char / pct-encoded / "*" )

    mid-left        = 1*( mid-atext / "." ) /      ; &lt;dot-atom-text&gt;
                      ( "%22" mid-quote "%22" )    ; &lt;no-fold-quote&gt;
    mid-quote       = 1*( mid-atext / "." /        ; &lt;mqtext&gt; incl.
                          mid-special /            ; '\"' / "[" / "]"
                          "%5C%22" / "%5B" / "%5D" )

    mid-right       = 1*( mid-atext / "." ) /      ; &lt;dot-atom-text&gt;
                      ( "%5B" mid-literal "%5D" )  ; &lt;no-fold-literal&gt;
    mid-literal     = 1*( mid-atext / "." /        ; &lt;mdtext&gt; incl.
                          mid-special /            ; '"' / "\[" / "\]"
                          "%22" / "%5C%5B" / "%5C%5D" )

    mid-special     = "(" / ")" / "," / ":" / ";" /
                      "%3C" / "%40" / "%5C%5C"     ; "&lt;" / "@" / "\\"

    mid-atext       = ALPHA / DIGIT /              ; RFC 2822 &lt;atext&gt;
                      "!" / "$" / "&amp;" / "'" /      ; allowed sub-delims
                      "*" / "+" / "=" /            ; allowed sub-delims
                      "-" / "_" / "~" /            ; allowed unreserved
                      "%23" / "%25" / "%2F" /      ; "#" / "%" / "/"
                      "%3F" / "%5E" / "%60" /      ; "?" / "^" / "`"
                      "%7B" / "%7C" / "%7D"        ; "{" / "|" / "}"

    authority       = &lt;see RFC 3986 Section 3.2&gt;
    host            = &lt;see RFC 3986 Section 3.2.2&gt;
    pct-encoded     = &lt;see RFC 3986 Section 2.1&gt;
    port            = &lt;see RFC 3986 Section 3.2.3&gt;
    sub-delims      = &lt;see RFC 3986 Section 2.2&gt;
    unreserved      = &lt;see RFC 3986 Section 2.3&gt;
    userinfo        = &lt;see RFC 3986 Section 3.2.1&gt;

    message-id      = &lt;see RFC 3977 Section 9.8&gt;
    UTF8-non-ascii  = &lt;see RFC 3977 Section 9.8&gt;
    wildmat         = &lt;see RFC 3977 Section 4.1&gt;
    wildmat-exact   = &lt;see RFC 3977 Section 4.1&gt;
    wildmat-pattern = &lt;see RFC 3977 Section 4.1&gt;

    ALPHA           = &lt;see RFC 5234 Appendix B.1&gt;
    DIGIT           = &lt;see RFC 5234 Appendix B.1&gt;

    atext           = &lt;see RFC 2822 Section 3.2.4&gt;
    dot-atom-text   = &lt;see RFC 2822 Section 3.2.4&gt;

    article-locator = &lt;see RFC 5536 Section 3.2.14&gt;
    mdtext          = &lt;see RFC 5536 Section 3.1.3&gt;
    mqtext          = &lt;see RFC 5536 Section 3.1.3&gt;
    msg-id-core     = &lt;see RFC 5536 Section 3.1.3&gt;
    newsgroup-name  = &lt;see RFC 5536 Section 3.1.4&gt;
    no-fold-literal = &lt;see RFC 5536 Section 3.1.3&gt;
    no-fold-quote   = &lt;see RFC 5536 Section 3.1.3&gt;
    xref            = &lt;see RFC 5536 Section 3.2.14&gt;
</artwork></figure></section>

<!--[rfced] RFC 2822 has been made obsolete by RFC 5322. Let us know
how the above reference to RFC 2822 should be updated. -->

    <section title="Detailed Example" anchor="gmane"><t>
        Here is an example of a mail to the
        <eref target="mailto:tools.discuss@ietf.org" />
        list with <spanx style="verb">Message-ID</spanx>
        &lt;p0624081dc30b8699bf9b@[10.20.30.108]&gt;.
    </t><t>
        <eref target="http://dir.gmane.org/gmane.ietf.tools" />
        is one of the various list archives; it converts mail
        into Netnews articles. The header of this article
        contains the following fields (among others):
    </t><figure><artwork>
        Message-ID: &lt;p0624081dc30b8699bf9b@[10.20.30.108]&gt;
        Xref: news.gmane.org gmane.ietf.tools:742
        Archived-At: &lt;http://permalink.gmane.org/gmane.ietf.tools/742&gt;
    </artwork></figure><t>
        The <spanx style="verb">Xref</spanx>
        roughly indicates the 742nd article in newsgroup
        <eref target="news://news.gmane.org/gmane.ietf.tools" />
        on this server.  An 'nntp' URL might be
        <eref target="nntp://news.gmane.org/gmane.ietf.tools/742" />.
        For details about the <spanx style="verb">Archived-At</spanx>
        URL, see <xref target="RFC5064" />.
    </t><t>
        The list software and list subscribers reading the
        list elsewhere can't predict a server-specific article
        number 742 in this archive.  If they know this server,
        they can however guess the corresponding
        <eref target="news://news.gmane.org/p0624081dc30b8699bf9b@%5B10.20.30.108%5D" />
        URL.
    </t><t>
        In theory, the list software could use the guessed 'news' URL
        in an <spanx style="verb">Archived-At</spanx> header field, but
        if a list tries this, it would likely use
        <eref target="http://mid.gmane.org/p0624081dc30b8699bf9b@%5B10.20.30.108%5D" />.
    </t><t>
        Using domain literals in a <spanx style="verb">Message-ID</spanx>
        could cause collisions.  A collision might force the mail2news
        gateway in this example to invent a new
        <spanx style="verb">Message-ID</spanx>, and an attempt to guess
        the future URL on this server would then fail.
    </t></section>

</back></rfc>
