⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2648.txt

📁 <VC++网络游戏建摸与实现>源代码
💻 TXT
📖 第 1 页 / 共 4 页
字号:
Network Working Group                                           R. MoatsRequest for Comments: 2648                                          AT&TCategory: Informational                                      August 1999                   A URN Namespace for IETF DocumentsStatus of this Memo   This memo provides information for the Internet community.  It does   not specify an Internet standard of any kind.  Distribution of this   memo is unlimited.Copyright Notice   Copyright (C) The Internet Society (1999).  All Rights Reserved.Abstract   A system for Uniform Resource Names (URNs) must be capable of   supporting new naming systems.  As an example of proposing a new   namespace, this document proposes the "ietf" namespace.  This   namespace consists of the RFC family of documents (RFCs, STDs, FYIs,   and BCPs) developed by the IETF and published by the RFC Editor, the   minutes of working groups (WG) and birds of a feather (BOF) meetings   that occur during IETF conferences, and the Internet Drafts published   by the Internet Drafts Editor.  Both the current URN framework and   URN syntax support this namespace.1. Introduction   This document proposes the "ietf" namespace, which consists of the   RFC family of documents (RFCs, STDs, FYIs, and BCPs) developed by the   IETF and published by the RFC editor and the minutes of working   groups (WG) and birds of a feather (BOF) meetings that occur during   IETF conferences.   The namespace specification is for a formal namespace.2. Specification Template      Namespace ID:            "ietf" requested.Moats                        Informational                      [Page 1]RFC 2648           A URN Namespace for IETF Documents        August 1999      Registration Information:            Registration version number: 1            Registration date: 1999-04-22      Declared registrant of the namespace:            Ryan Moats            jayhawk@att.com            AT&T            15621 Drexel Circle            Omaha, NE 68135-2358      Declaration of structure:            The identifier has the following ABNF [2] specification:            NSS = rfc-nss / fyi-nss / std-nss / bcp-nss /                  draft-nss / mtg-nss / other-nss            rfc-nss = "rfc:" 1*DIGIT            fyi-nss = "fyi:" 1*DIGIT            std-nss = "std:" 1*DIGIT            bcp-nss = "bcp:" 1*DIGIT            draft-nss = "id:" string            mtg-nss = "mtg:" string            other-nss = string              ; beginning with a prefix other than one of those              ; above for future expansion            string = 1*(DIGIT / ALPHA / "-")            If the IESG (or it successor) adds a new document series,            this ABNF specification will need to be updated.  Further,            if a working group or BOF is created that used characters            outside the range of this ABNF specification, this            specification will need to be updated.  Any system intended            to resolve names for this namespace should be written with            the awareness that this could occur at any time.      Relevant ancillary documentation:            Relevant documentation is in RFC 2648.Moats                        Informational                      [Page 2]RFC 2648           A URN Namespace for IETF Documents        August 1999      Identifier uniqueness considerations:            Because the rfc-editor assigns the RFC number uniquely these            URNs are unique.  Since the mapping between RFCs and other            rfc-editor document series (STDs, FYIs or BCPs) is not            necessarily one-to-one, uniqueness of STDs, FYIs and BCPs            are defined based on the document mappings maintained by the            RFC Editor (the index files "rfc-index.txt", "fyi-            index.txt", "bcp-index.txt", "std-index.txt") are defined to            be the definitive statement of the assignment of RFC Family            URNs in this namespace.  The meeting minutes portion of the            namespace is guaranteed unique because the URN includes the            sequence number of the IETF conference.  The document            mapping maintained by the Internet Drafts editor ("1id-            abstracts.txt") is defined as the definitive statement of            the assignment of URNs for the internet draft portion of            this namespace.      Identifier persistence considerations:            Persistence of the URNs of this namespace is independent of            the mutability of the underlying documents.  A URN once            assigned will never be reassigned to a different resource;            the assignment is persistent and immutable.  Immutability of            RFCs, STDs, FYIs and BCPs is at the discretion of the RFC            Editor.  They may be composites of one or more RFCs and the            set of RFCs that includes them may change with time.  It is            important to note that this mutability of some resources is            independent of the immutability of URN assignment to a            resource.      Process of identifier assignment:            Assignment of URNs from this namespace occurs in three ways.            The first is through publication of a new RFC, FYI, STD or            BCP is by the RFC Editor. This new document will have a new            series number and will therefore define a new URN.  The            document mappings maintained by the RFC Editor (the index            files "rfc-index.txt", "fyi-index.txt", "bcp-index.txt" and            "std-index.txt") are defined to be the definitive statement            of the assignment of RFC Family URNs in this namespace.            The second way a URN is assigned is through the filing of            meeting minutes by a working group or birds of a feather as            part of an IETF conference.  The list of minutes maintained            by the IETF for each working group and conference in the            subtree pointed at by the URL ftp://ietf.org/ietf/ is            considered the definitive assignment of URNs for workingMoats                        Informational                      [Page 3]RFC 2648           A URN Namespace for IETF Documents        August 1999            group or birds of a feather minutes.            The third way a URN is assigned is through the publication            of a new internet-draft by the Internet Draft Editor.  This            draft will have a distinct name (and version number) and            therefore defined a new URN.  The document mapping            maintained by the Internet Drafts editor ("1id-            abstracts.txt") is defined as the definitive statement of            the assignment of URNs for this portion of the namespace.      Process of identifier resolution:            A mirrored copy of the underlying documentation is required            to resolve these URNs.  Resolution via HTTP is done by a set            of simple Perl cgi-bin scripts presented in Appendix A.      Rules for Lexical Equivalence:            The entire URN is case-insensitive.      Conformance with URN Syntax:            There are no additional characters reserved.      Validation mechanism:            None additional to resolution specified      Scope:            Global.3. Examples   The following are examples of URNs that a resolver for this namespace   can resolve:         urn:ietf:rfc:2141         urn:ietf:std:50         urn:ietf:id:ietf-urn-ietf-06         urn:ietf:mtg:41-urnMoats                        Informational                      [Page 4]RFC 2648           A URN Namespace for IETF Documents        August 19994. Security Considerations   Because this namespace defines no additional reserved characters, it   does not add any security considerations beyond those inherent from   the existence of the reserved characters from [1].  Further, none of   the reserved characters from [1] are used in the definition of the   NSS. This means that resolvers for this namespace may be considered   "secure" in the sense that any escaping of characters in the NSS MUST   result in the resolver indicating that the URN has incorrect syntax.5. Acknowledgments   Thanks to various members of the URN working group for comments on   earlier drafts of this document.  The work described in this document   is partially supported by the National Science Foundation,   Cooperative Agreement NCR-9218179.6. References   Request For Comments (RFC) and Internet Draft documents are available   from numerous mirror sites.   [1]  Moats, R., "URN Syntax", RFC 2141, May 1997.   [2]  Crocker, D. and P. Overell, "Augmented BNF for Syntax        Specifications: ABNF", RFC 2234, November 1997.7. Author's Address   Ryan Moats   AT&T   15621 Drexel Circle   Omaha, NE 68135-2358   USA   EMail:  jayhawk@att.comMoats                        Informational                      [Page 5]RFC 2648           A URN Namespace for IETF Documents        August 1999Appendix A.  Example Resolution Scripts   The following scripts are examples that can be used for resolving   URNs in this namespace.A.1 I2C#!/usr/local/bin/perluse strict;## this is a URN 2 URC resolver for the ietf namespace#my(%cite) = (  bcp => "/ftp/rfc/bcp-index.txt",  fyi => "/ftp/fyi/fyi-index.txt",  id => "/ftp/internet-drafts/1id-abstracts.txt",  rfc => "/ftp/rfc/rfc-index.txt",  std => "/ftp/std/std-index.txt");my(%number2date) = (  44 => "99mar",  43 => "98dec", 42 => "98aug", 41 => "98apr",  40 => "97dec", 39 => "97aug", 38 => "97apr",  37 => "96dec", 36 => "96jun", 35 => "96mar",  34 => "95dec", 33 => "95jul", 32 => "95apr",  31 => "94dec", 30 => "94jul", 29 => "94mar",  28 => "93nov", 27 => "93jul", 26 => "93mar",  25 => "92nov", 24 => "92jul", 23 => "92mar",  22 => "91nov", 21 => "91jul", 20 => "91mar",  19 => "90dec" );my($wgpath) = "/ftp/ietf";my($urn) = $ENV{'QUERY_STRING'};my($host) = $ENV{'SERVER_NAME'}; #get my host name for ftp: URLsmy($accept) = $ENV{'HTTP_ACCEPT'}; #this is the "Accept:" HTTP header(&resolveid($1), exit) if ($urn =~ /urn:ietf:id:(\S+)/i);(&resolverfc($1, $2), exit) if ($urn =~ /urn:ietf:(\w*):(\d*)/i);(&resolvemtg($1, $2), exit) if ($urn =~ /urn:ietf:mtg:(\d*)-(\w*)/i);&urn_error("400 Bad Request\n");sub resolvemtg {  my($ietfnum, $sesnam) = @_;  &urn_error("404 Not Found\n") if (!defined $number2date{$ietfnum});  my($date)=$number2date{$ietfnum};Moats                        Informational                      [Page 6]RFC 2648           A URN Namespace for IETF Documents        August 1999  my($link)="$wgpath/$sesnam/$sesnam-minutes-$date.txt";  if (-f $link) {    print "Status:  200 OK\r\n";    print "Content-type: text/html\r\n\r\n";    print "<HTML>\n<TITLE>Citation for $urn</TITLE>\n";    print "<BODY>\n";    print "<H1><A HREF=\"$link\">$urn</A>:</H1>\n";    print "Minutes of the $sesnam working group from the "          . &end($ietfnum) . " IETF";    print "</BODY>\n</HTML>\n";    return;  }  my($link)="$wgpath/$date/$sesnam-minutes-$date.txt";  if (-f $link) {    print "Status:  200 OK\r\n";    print "Content-type: text/html\r\n\r\n";    print "<HTML>\n<TITLE>Citation for $urn</TITLE>\n";    print "<BODY>\n";    print "<H1><A HREF=\"$link\">$urn</A>:</H1>\n";    print "Minutes of the $sesnam working group from the "           . &end($ietfnum) . " IETF";    print "</BODY>\n</HTML>\n";    return;  }  &urn_error("404 Not Found\n");}sub end {  my($inarg)=@_;  return $inarg . "st" if ($inarg =~ /1$/);  return $inarg . "nd" if ($inarg =~ /2$/);  return $inarg . "rd" if ($inarg =~ /3$/);  return $inarg . "th";}sub resolverfc {  my($flag,@bib,$i,$k,$j,$done,@ref);  my($l,$link);  my($scheme, $value) = @_;  $scheme =~ tr/A-Z/a-z/;  if (!defined $cite{$scheme}) {    &urn_error("404 Not Found\n");  }  $flag = 0;  open(INPUT, "$cite{$scheme}");  while (<INPUT>) {    $flag = 1 if (/^0*$value /);Moats                        Informational                      [Page 7]RFC 2648           A URN Namespace for IETF Documents        August 1999    if ($flag == 1) {      last if (/^$/);      chop;      push @bib,$_;    }  }  if ($scheme ne "rfc") {    print "Status:  200 OK\r\n";    print "Content-type: text/html\r\n\r\n";    $bib[0] =~ s/^[0-9]*\s*/<B>/;    for ($i=0; $i<=$#bib; $i+=1) {      last if ($bib[$i] =~ s/\./.<\/B>/);    }    for ($i=0;$i<=$#bib;$i+=1) {      $k=$bib[$i];      while ($k =~ /(fyi|std|rfc|bcp)([0-9]+)(.*)/i) {        push @ref,"$1$2";        $k=$3;      }      $done="";      foreach $j (@ref) {        next if ($done =~ $j);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -