舍本逐末什么意思| 宝宝吃益生菌有什么好处和坏处| 阴超是什么| 女人下巴长痘痘是什么原因| 总出虚汗是什么原因| 梦见租房子住是什么意思| 吃饭快的人是什么性格| 乙醇是什么| 慢性炎症是什么| 黄瓜又什么又什么| 睡觉口干舌燥什么原因| 衣原体阴性是什么意思| 万圣节为什么要送糖果| 2.1是什么星座| 腺样体肥大吃什么药| 肛门瘙痒涂什么药膏| 玄孙是什么意思| cnd是什么意思| 尿道口红肿是什么原因| 左耳朵痒代表什么预兆| 女性私下有苦味主要是什么原因| 人放屁多是什么原因| 震仰盂什么意思| 黄芪和什么泡水壮阳| 求婚是什么意思| 生猴子是什么意思| 日值四离是什么意思| 肤色暗黄适合穿什么颜色的衣服| 垂涎欲滴意思是什么| 男人梦到蛇预示着什么| 伤口结痂为什么会痒| 三个七念什么| 什么人吃天麻最好| 手掌痒是什么原因| 打完狂犬疫苗不能吃什么| 蝙蝠飞到家里是什么预兆| 法院庭长是什么级别| 吃什么疏通血管最快| 战战兢兢的意思是什么| 手淫有什么坏处| 生气伤什么器官| vd是什么意思| 手指起倒刺是什么原因| 右手中指指尖麻木是什么原因| 眼袋肿了是什么原因| 腿部肿胀是什么原因引起的| 梦见搬家是什么意思| 办什么厂比较好| 怀孕初期有什么反应| 寂寞是什么意思| 南方是什么生肖| 电饭锅内胆什么材质好| 国防部是干什么的| 水痘疫苗叫什么| 每天吃什么菜谱星期表| gbs是什么意思| 胎停是什么意思| gps是什么意思| 石斛不能和什么一起吃| 伤到骨头吃什么好得快| 水洗棉是什么面料| 1866年属什么生肖| 一什么瀑布| 立牌坊是什么意思| 阳虚是什么| 朱祁镇为什么杀于谦| 痔疮是什么原因| 猕猴桃对身体有什么好处| 低压高吃什么药| 什么叫染色体| 早早孕有什么征兆| 什么的梦想| 百丽鞋属于什么档次| 碳酸钙d3颗粒什么时候吃最好| 平光眼镜是什么意思| 脂肪肝吃什么中药| 空鼻症是什么症状| crispi是什么牌子| 梦见狼是什么意思周公解梦| 女生学什么专业好| 两个人可以玩什么游戏| 生蚝有什么功效| 吃什么去肝火见效快| 为什么不能抖腿| 苹果吃了有什么好处| 什么是tct检查| 黄精有什么功效和作用| 二氧化碳有什么作用| 医院属于什么性质的单位| 失信人是什么意思| 豇豆不能和什么一起吃| H 什么意思| 老年人嗜睡是什么原因| 早上起来眼皮肿是什么原因| 肝囊肿是什么原因引起的| 黄精长什么样| 世界上最小的长度单位是什么| 胎盘低置状态是什么意思| 不怕热是什么体质| 满载而归的载是什么意思| 热痱子用什么药| 胶体金法是什么意思| 红烧肉可以放什么配菜| 开天眼是什么意思| 史记是什么体史书| 男性性功能下降是什么原因| 农历12月18日是什么星座| 商纣王叫什么名字| 尿带血是什么原因| 云南雪燕有什么作用| 荷塘月色是什么菜| 移植是什么意思| 外痔疮是什么样子图片| 罗锅是什么意思| 水保是什么| 东星斑为什么这么贵| 子宫脱落是什么原因引起的| 长期吃阿司匹林有什么副作用| 羊内腰和外腰分别是什么| 11月份是什么星座的| 吃什么能降血压最有效| 参军意愿选什么比较好| 大水牛是什么意思| 月加厷念什么| 一个提手一个京念什么| 补办护照需要什么材料| 鹿晗的原名叫什么| 反流性食管炎是什么症状| 迷失自我是什么意思| 月经期肚子疼是什么原因| 小米叫什么| 焦虑症吃什么中成药| 沙特用什么货币| 金国人是现在的什么人| 苏字五行属什么| 银屑病是什么| 三周年祭日有什么讲究| 高碱性食物都有什么| dha中文叫什么| 铁瓷是什么意思| 杀阴虱用什么药最快| 屁多还臭是什么原因| 副歌部分是什么意思| 茶壶里煮饺子的歇后语是什么| 草木皆兵指什么生肖| 嗓子沙哑是什么原因| 92年属猴的是什么命| 窦性心律有什么危害| 查脂肪肝挂什么科室| 怀孕吃什么会流产| 蛇喜欢吃什么食物| 叶酸片治什么病| 夏枯草是什么| 六月二十六是什么星座| 什么叫过渡句| 血脂稠喝什么茶效果好| 玉兰片和竹笋有什么区别| 什么是圣人| 姑息是什么意思| 维生素b什么时候吃| havva是什么牌子| g6pd是检查什么的| 人生价值是什么| 唇上有痣代表什么| 西夏是现在的什么地方| 三点是什么时辰| 龟头有点痒擦什么药| 郁闷是什么意思| 股票pe是什么意思| 黄帝是一个什么样的人| 肉苁蓉和什么搭配最好| poppy什么意思| 摩羯座的幸运色是什么| 右手臂发麻是什么原因| 派出所所长是什么级别| 陈百强属什么生肖| 月煞是什么意思| 牡丹花什么时候开花| 男性硬下疳是什么样子| 怀孕吃什么菜最有营养| ons是什么意思| 生理期是什么| 便秘吃什么最快排便小孩| 把脉左右手代表什么| 无间是什么意思| dvf是什么品牌| 周星驰是什么星座| 如虎添翼是什么生肖| 侍中是什么官| playboy什么意思| reading是什么意思| 什么人不能吃西洋参| 什么是嘌呤食物| 梦见自己大笑是什么意思| 梦见烧火是什么意思| 吴亦凡为什么退出exo| 弱碱水是什么水| 三十六计第一计是什么| 后宫是什么意思| 脱疽是什么意思| 白细胞低是什么原因| 皮质醇高是什么原因| 火红的太阳像什么| oioi是什么牌子| 大姨妈吃什么水果最好| 走路带风是什么意思| 高血压喝什么茶| k粉是什么| 脸上长闭口是什么原因导致的| hpv去医院挂什么科| 菠菜不能和什么食物一起吃| 气滞血瘀是什么意思| 什么是命中注定| 古代内衣叫什么| 肝囊肿吃什么药| 浙江大学校长什么级别| 扁桃体结石长什么样| 不显山不露水是什么意思| 瑄字五行属什么| 赛能是什么药| 老鸨是什么| 车震是什么| 杆菌是什么意思| 睾丸长什么样| 什么是骨癌| cp1是什么意思| 夕阳什么意思| 限行是什么意思| 胡歌真名叫什么| 为什么近视不可逆| 尿道尿血是什么原因| 什么叫紫癜| 脖子为什么会痒| 妇科彩超主要检查什么| 血糖低是什么原因| 白茶有什么功效| 属兔的和什么属相最配| giuseppe是什么牌子| 沙悟净是什么生肖| gl小说是什么意思| doki是什么意思| 台风什么时候登陆| 前列腺钙化有什么影响| 淡奶油能做什么| 肯定是什么意思| 检查甲亢挂什么科| 欢愉是什么意思| 打呼噜是什么引起的| 轻生什么意思| 钙化点是什么意思| 眼角发黄是什么原因| 什么是七情六欲| 前期怀孕有什么症状| 2002年是什么生肖| 精忠报国是什么生肖| 娃娃鱼属于什么类动物| 建日是什么意思| 12月20日什么星座| 吃什么帮助消化| 农历七月是什么月份| 左手小手指麻木是什么原因引起的| 1981年是什么命| 血糖高吃什么好| dia是什么意思| 百度

Network Working Group                                           R. Moats
Request for Comments: 2141                                          AT&T
Category: Standards Track                                       May 1997


                               URN Syntax

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Abstract

   Uniform Resource Names (URNs) are intended to serve as persistent,
   location-independent, resource identifiers. This document sets
   forward the canonical syntax for URNs.  A discussion of both existing
   legacy and new namespaces and requirements for URN presentation and
   transmission are presented.  Finally, there is a discussion of URN
   equivalence and how to determine it.

1. Introduction

   Uniform Resource Names (URNs) are intended to serve as persistent,
   location-independent, resource identifiers and are designed to make
   it easy to map other namespaces (which share the properties of URNs)
   into URN-space. Therefore, the URN syntax provides a means to encode
   character data in a form that can be sent in existing protocols,
   transcribed on most keyboards, etc.

2. Syntax

   All URNs have the following syntax (phrases enclosed in quotes are
   REQUIRED):

                     <URN> ::= "urn:" <NID> ":" <NSS>

   where <NID> is the Namespace Identifier, and <NSS> is the Namespace
   Specific String.  The leading "urn:" sequence is case-insensitive.
   The Namespace ID determines the _syntactic_ interpretation of the
   Namespace Specific String (as discussed in [1]).







Moats                       Standards Track                     [Page 1]


RFC 2141                       URN Syntax                      May 1997


   RFC 1630 [2] and RFC 1737 [3] each presents additional considerations
   for URN encoding, which have implications as far as limiting syntax.
   On the other hand, the requirement to support existing legacy naming
   systems has the effect of broadening syntax.  Thus, we discuss the
   acceptable syntax for both the Namespace Identifier and the Namespace
   Specific String separately.

2.1 Namespace Identifier Syntax

   The following is the syntax for the Namespace Identifier. To (a) be
   consistent with all potential resolution schemes and (b) not put any
   undue constraints on any potential resolution scheme, the syntax for
   the Namespace Identifier is:

   <NID>         ::= <let-num> [ 1,31<let-num-hyp> ]

   <let-num-hyp> ::= <upper> | <lower> | <number> | "-"

   <let-num>     ::= <upper> | <lower> | <number>

   <upper>       ::= "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" |
                     "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" |
                     "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" |
                     "Y" | "Z"

   <lower>       ::= "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" |
                     "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" |
                     "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" |
                     "y" | "z"

   <number>      ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" |
                     "8" | "9"


   This is slightly more restrictive that what is stated in [4] (which
   allows the characters "." and "+").  Further, the Namespace
   Identifier is case insensitive, so that "ISBN" and "isbn" refer to
   the same namespace.

   To avoid confusion with the "urn:" identifier, the NID "urn" is
   reserved and MUST NOT be used.










Moats                       Standards Track                     [Page 2]


RFC 2141                       URN Syntax                      May 1997


2.2 Namespace Specific String Syntax

   As required by RFC 1737, there is a single canonical representation
   of the NSS portion of an URN.   The format of this single canonical
   form follows:

   <NSS>         ::= 1*<URN chars>

   <URN chars>   ::= <trans> | "%" <hex> <hex>

   <trans>       ::= <upper> | <lower> | <number> | <other> | <reserved>

   <hex>         ::= <number> | "A" | "B" | "C" | "D" | "E" | "F" |
                     "a" | "b" | "c" | "d" | "e" | "f"

   <other>       ::= "(" | ")" | "+" | "," | "-" | "." |
                     ":" | "=" | "@" | ";" | "$" |
                     "_" | "!" | "*" | "'"

   Depending on the rules governing a namespace, valid identifiers in a
   namespace might contain characters that are not members of the URN
   character set above (<URN chars>).  Such strings MUST be translated
   into canonical NSS format before using them as protocol elements or
   otherwise passing them on to other applications. Translation is done
   by encoding each character outside the URN character set as a
   sequence of one to six octets using UTF-8 encoding [5], and the
   encoding of each of those octets as "%" followed by two characters
   from the <hex> character set above. The two characters give the
   hexadecimal representation of that octet.

2.3 Reserved characters

   The remaining character set left to be discussed above is the
   reserved character set, which contains various characters reserved
   from normal use.  The reserved character set follows, with a
   discussion on the specifics of why each character is reserved.

   The reserved character set is:

   <reserved>    ::= '%" | "/" | "?" | "#"

2.3.1 The "%" character

   The "%" character is reserved in the URN syntax for introducing the
   escape sequence for an octet.  Literal use of the "%" character in a
   namespace must be encoded using "%25" in URNs for that namespace.
   The presence of an "%" character in an URN MUST be followed by two
   characters from the <hex> character set.



Moats                       Standards Track                     [Page 3]


RFC 2141                       URN Syntax                      May 1997


   Namespaces MAY designate one or more characters from the URN
   character set as having special meaning for that namespace.  If the
   namespace also uses that character in a literal sense as well, the
   character used in a literal sense MUST be encoded with "%" followed
   by the hexadecimal representation of that octet.  Further, a
   character MUST NOT be "%"-encoded if the character is not a reserved
   character.  Therefore, the process of registering a namespace
   identifier shall include publication of a definition of which
   characters have a special meaning to that namespace.

2.3.2 The other reserved characters

   RFC 1630 [2] reserves the characters "/", "?", and "#" for particular
   purposes. The URN-WG has not yet debated the applicability and
   precise semantics of those purposes as applied to URNs. Therefore,
   these characters are RESERVED for future developments.  Namespace
   developers SHOULD NOT use these characters in unencoded form, but
   rather use the appropriate %-encoding for each character.

2.4 Excluded characters

   The following list is included only for the sake of completeness.
   Any octets/characters on this list are explicitly NOT part of the URN
   character set, and if used in an URN, MUST be %encoded:

   <excluded> ::= octets 1-32 (1-20 hex) | "\" | """ | "&" | "<"
                  | ">" | "[" | "]" | "^" | "`" | "{" | "|" | "}" | "~"
                  | octets 127-255 (7F-FF hex)

   In addition, octet 0 (0 hex) should NEVER be used, in either
   unencoded or %-encoded form.

   An URN ends when an octet/character from the excluded character set
   (<excluded>) is encountered.  The character from the excluded
   character set is NOT part of the URN.

3. Support of existing legacy naming systems and new naming systems

   Any namespace (existing or newly-devised) that is proposed as an
   URN-namespace and fulfills the criteria of URN-namespaces MUST be
   expressed in this syntax.  If names in these namespaces contain
   characters other than those defined for the URN character set, they
   MUST be translated into canonical form as discussed in section 2.2.








Moats                       Standards Track                     [Page 4]


RFC 2141                       URN Syntax                      May 1997


4. URN presentation and transport

   The URN syntax defines the canonical format for URNs and all URN
   transport and interchanges MUST take place in this format. Further,
   all URN-aware applications MUST offer the option of displaying URNs
   in this canonical form to allow for direct transcription (for example
   by cut and paste techniques).  Such applications MAY support display
   of URNs in a more human-friendly form and may use a character set
   that includes characters that aren't permitted in URN syntax as
   defined in this RFC (that is, they may replace %-notation by
   characters in some extended character set in display to humans).

5. Lexical Equivalence in URNs

   For various purposes such as caching, it's often desirable to
   determine if two URNs are the same without resolving them. The
   general purpose means of doing so is by testing for "lexical
   equivalence" as defined below.

   Two URNs are lexically equivalent if they are octet-by-octet equal
   after the following preprocessing:

           1. normalize the case of the leading "urn:" token
           2. normalize the case of the NID
           3. normalizing the case of any %-escaping

   Note that %-escaping MUST NOT be removed.

   Some namespaces may define additional lexical equivalences, such as
   case-insensitivity of the NSS (or parts thereof).  Additional lexical
   equivalences MUST be documented as part of namespace registration,
   MUST always have the effect of eliminating some of the false
   negatives obtained by the procedure above, and MUST NEVER say that
   two URNs are not equivalent if the procedure above says they are
   equivalent.

6. Examples of lexical equivalence

   The following URN comparisons highlight the lexical equivalence
   definitions:

           1- URN:foo:a123,456
           2- urn:foo:a123,456
           3- urn:FOO:a123,456
           4- urn:foo:A123,456
           5- urn:foo:a123%2C456
           6- URN:FOO:a123%2c456




Moats                       Standards Track                     [Page 5]


RFC 2141                       URN Syntax                      May 1997


   URNs 1, 2, and 3 are all lexically equivalent.  URN 4 is not
   lexically equivalent any of the other URNs of the above set.  URNs 5
   and 6 are only lexically equivalent to each other.

7. Functional Equivalence in URNs

   Functional equivalence is determined by practice within a given
   namespace and managed by resolvers for that namespeace. Thus, it is
   beyond the scope of this document.  Namespace registration must
   include guidance on how to determine functional equivalence for that
   namespace, i.e. when two URNs are the identical within a namespace.

8. Security considerations

   This document specifies the syntax for URNs.  While some namespaces
   resolvers may assign special meaning to certain of the characters of
   the Namespace Specific String, any security consideration resulting
   from such assignment are outside the scope of this document.  It is
   strongly recommended that the process of registering a namespace
   identifier include any such considerations.

9. Acknowledgments

   Thanks to various members of the URN working group for comments on
   earlier drafts of this document.  This document is partially
   supported by the National Science Foundation, Cooperative Agreement
   NCR-9218179.

10. References

   Request For Comments (RFC) and Internet Draft documents are available
   from <URL:ftp://ftp.internic.net> and numerous mirror sites.

   [1]         Sollins, K. R., "Requirements and a Framework for
               URN Resolution Systems," Work in Progress.

   [2]         Berners-Lee, T., "Universal Resource Identifiers in
               WWW," RFC 1630, June 1994.

   [3]         Sollins, K. and L. Masinter,  "Functional Requirements
               for Uniform Resource Names," RFC 1737.
               December 1994.









Moats                       Standards Track                     [Page 6]


RFC 2141                       URN Syntax                      May 1997


   [4]         Berners-Lee, T., R. Fielding, L. Masinter, "Uniform
               Resource Locators (URL),"  Work in Progress.

   [5]         Appendix A.2 of The Unicode Consortium, "The
               Unicode Standard, Version 2.0", Addison-Wesley
               Developers Press, 1996.  ISBN 0-201-48345-9.

11. Editor's address

      Ryan Moats
      AT&T
      15621 Drexel Circle
      Omaha, NE 68135-2358
      USA

      Phone:  +1 402 894-9456
      EMail:  jayhawk@ds.internic.net


































Moats                       Standards Track                     [Page 7]


RFC 2141                       URN Syntax                      May 1997


Appendix A. Handling of URNs by URL resolvers/browsers.

   The URN syntax has been defined so that URNs can be used in places
   where URLs are expected.  A resolver that conforms to the current URL
   syntax specification [3] will extract a scheme value of "urn:" rather
   than a scheme value of "urn:<nid>".

   An URN MUST be considered an opaque URL by URL resolvers and passed
   (with the "urn:" tag) to an URN resolver for resolution.  The URN
   resolver can either be an external resolver that the URL resolver
   knows of, or it can be functionality built-in to the URL resolver.

   To avoid confusion of users, an URL browser SHOULD display the
   complete URN (including the "urn:" tag) to ensure that there is no
   confusion between URN namespace identifiers and URL scheme
   identifiers.



































Moats                       Standards Track                     [Page 8]
排卵期一般是什么时候 hoegaarden是什么啤酒 隐身是什么意思 什么是bg 三聚净戒是指什么戒
533是什么意思 配菜是什么意思 驳是什么动物 龟头责是什么意思 ojbk什么意思
早上空腹喝淡盐水有什么好处 小肠换气吃什么药 手机壳买什么材质的好 收缩压是什么 清明节的习俗是什么
知天命是什么意思 产后漏尿是什么原因 吹面不寒杨柳风什么意思 嘴角有痣代表什么 5月12日什么星座
身份证号后四位代表什么hcv9jop6ns4r.cn 什么是犯太岁hcv8jop3ns4r.cn 霾是什么意思hcv8jop0ns8r.cn 神经炎是什么症状hcv9jop0ns2r.cn 螺旋菌感染有什么危害hcv8jop5ns5r.cn
没事在家可以做些什么hcv8jop0ns2r.cn 乳腺结节吃什么散结快1949doufunao.com 福祉是什么意思hcv8jop4ns2r.cn 胆固醇高吃什么最好hcv8jop0ns9r.cn 荞麦是什么hcv9jop5ns5r.cn
为什么会出现眼袋hcv8jop1ns7r.cn 梅菌是什么病hcv7jop9ns2r.cn 一九六八年属什么生肖hcv7jop5ns2r.cn 四季春茶是什么茶hcv8jop8ns4r.cn 产后大出血一般发生在什么时候hcv8jop7ns1r.cn
六味地黄丸是治什么的hcv8jop3ns2r.cn 彼岸花什么时候开花hcv9jop3ns8r.cn 为人是什么意思hcv8jop9ns4r.cn 心衰应该注意什么hcv8jop9ns0r.cn 空调病是什么症状hcv7jop4ns8r.cn
百度