分享
 
 
 

RFC3368 - The go URI Scheme for the Common Name Resolution Protocol

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group M. Mealling

Request for Comments: 3368 VeriSign, Inc.

Category: Standards Track August 2002

The 'go' URI Scheme for the Common Name Resolution Protocol

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.

Copyright Notice

Copyright (C) The Internet Society (2002). All Rights Reserved.

Abstract

This document defines a URI scheme, 'go:' to be used with the Common

Name Resolution Protocol. Specifically it lays out the syntactic

components and how those components are used by URI Resolution to

find the available transports for a CNRP service. Care should be

taken with several of the URI components because, while they may look

like components found in other URI schemes, they often do not act

like them. The "go" scheme has more in common with the location

independent "news" scheme than any other URI scheme.

Table of Contents

1. Goals . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 2

3. Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . 3

3.1 General Syntax . . . . . . . . . . . . . . . . . . . . . . . 3

3.2 ABNF Grammar . . . . . . . . . . . . . . . . . . . . . . . . 3

3.3 Special Cases and Default Values . . . . . . . . . . . . . . 4

3.3.1 If There is Only a Server . . . . . . . . . . . . . . . . . 4

3.3.2 If Server is Empty Then server=localhost . . . . . . . . . . 4

3.3.3 Default Port . . . . . . . . . . . . . . . . . . . . . . . . 4

3.4 Encoding Rules . . . . . . . . . . . . . . . . . . . . . . . 4

4. Transport Independence . . . . . . . . . . . . . . . . . . . 4

5. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 4

6. Security Considerations . . . . . . . . . . . . . . . . . . 5

7. IANA Considerations . . . . . . . . . . . . . . . . . . . . 5

References . . . . . . . . . . . . . . . . . . . . . . . . . 6

A. Registration Template . . . . . . . . . . . . . . . . . . . 7

Author's Address . . . . . . . . . . . . . . . . . . . . . . 7

Full Copyright Statement . . . . . . . . . . . . . . . . . . 8

1. Goals

The two goals of the CNRP [3] URI [1] are to identify both a specific

common-name record at a specific server and to identify a possibly

dynamic query or entry point into the query process. Since CNRP

requires that the ID be a core query term, these two cases can be

generalized down to simply specifying a query that contains only the

ID of the item.

On first glance it would seem a simple enough exercise to

canonicalize the XML encoded query and then insert it into the query

portion of the URL. The problem here is that, due to the encoding

rules, any remotely complex query will quickly blow out the URI

length limitations. The suggested solution is to provide a

simplified query syntax that is a subset of what is available via the

XML.

2. Terminology

The key Words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",

"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this

document are to be interpreted as described in RFC2119 [4].

3. Syntax Rules

3.1 General Syntax

The CNRP URI comes in two forms. The first form is for talking to a

specific server. The second form is for eXPressing a query that is

meant to be sent to several different CNRP services. The following

two examples are for pedagogical purposes only. The complete ABNF

grammar in Section 3.2 is the only authoritative syntax definition.

go://[<host>]?[<common-name>]*[;<attribute>=[<type>,]<value>]

and

go:<common-name>*[;<attribute>=[<type>,]<value>]

3.2 ABNF Grammar

The full ABNF [2] (certain values are included by reference from RFC

2396 [1]):

cnrp-uri = "go:" (form1 / form2)

form1 = "//" [server] ["?" ((common-name *avpair) / id-req) ]

form2 = common-name *avpair

id-req = "id=" value

avpair = ";" attribute "=" [ type "," ] value

server = // as specified in RFC2396

common-name = *(unreserved escaped)

attribute = *(unreserved escaped)

value = *(unreserved escaped)

type = *(unreserved escaped)

unreserved = // as specified in RFC2396

escaped = "%" hex hex

hex = "0" "1" "2" "3" "4" "5" "6" "7"

"8" "9" "A" "B" "C" "D" "E" "F"

"a" "b" "c" "d" "e" "f"

3.3 Special Cases and Default Values

3.3.1 If There is Only a Server

In the case where the CNRP URI contains only the server prodUCtion

then the URI identifies a given CNRP server, not any particular query

that is to be done. A client can assume that this server will at

least answer the 'servicequery' request.

3.3.2 If Server is Empty Then server=localhost

If the 'server' element has no value then its value MUST be assumed

to be "localhost".

3.3.3 Default Port

CNRP's well known HTTP transport port is 1096. If the port value

portion of the server production is not specified then port 1096

SHOULD be used if the client has no prior knowledge about other ports

or transports that the service may support.

3.4 Encoding Rules

The common-name, query parameters, and parameter values must be

encoded using the UTF-8 encoding scheme [5], and any octet that is

not one of the permitted characters per the above grammar MUST

instead be represented by a "%" followed by two characters from the

<hex> character set above. The two characters give the hexadecimal

representation of that octet.

4. Transport Independence

As stated in the CNRP protocol specification [3], CNRP is allowed to

be expressed over multiple transport protocols with HTTP being

mandatory to implement. In the case where a client attempts to

resolve a CNRP URI and it knows nothing about the service being

referenced in that URI, then it SHOULD use HTTP on the CNRP default

port (1096).

5. Examples

go:Mercedes%20Benz

This example shows a general query for the common-name "Mercedes

Benz". The intent is that the query should be packaged with any

client provided defaults and sent to the one or more services that

the client has configured to ask.

go://?Mercedes%20Benz

This example shows a general query for the common-name "Mercedes

Benz" that is sent to the server running on the 'localhost'.

go://cnrp.foo.com?Mercedes%20Benz;geography=US-ga

This example shows a query for the common-name "Mercedes Benz" in

the geographic area "US-ga" which should be sent to the server

found at cnrp.foo.com.

go://cnrp.foo.org?Martin%20J.%20D%C3%BCrst

This example includes a UTF-8 character encoded using hex

escaping. The value encoded is a u-umlaut (a 'u' with two dots

over it). This simple query is sent to a server found at

cnrp.foo.org with no parameters.

go://cnrp.foo.com?id=5432345

Here only an id is given which means that his example points

directly at a particular common-name record on a particular

server. This example would probably be found in a link on a web

page of some type.

6. Security Considerations

In addition to the security considerations inherent in CNRP itself

(see the Security Considerations section of RFC3367 [3]), the URI

mechanism can also be used to retrieve a URI identifying some other

site by including just the ID and not the common-name being linked

to. I.e., the user may think he/she is being shown the URI currently

mapped to the "BMW" common-name but in the case where only the ID is

used the actual common-name is not part of the URI, thus making it

possible to use a CNRP URI without knowing which common-name it is

referring to.

7. IANA Considerations

The IANA is asked to register the URL registration template found in

Appendix A in accordance with RFC2717 [6].

References

[1] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform Resource

Identifiers (URI): Generic Syntax", RFC2396, August 1998.

[2] Crocker, D., "Augmented BNF for Syntax Specifications: ABNF",

RFC2234, November 1997.

[3] Popp, N., Mealling, M. and M. Moseley, "Common Name Resolution

Protocol (CNRP)", RFC3367, August 2002.

[4] Bradner, S., "Key words for use in RFCs to Indicate Requirement

Levels", BCP 14, RFC2119, March 1997.

[5] The Unicode Consortium, "The Unicode Standard, Version 2.0:

Appendix A.2", ISBN 0-201-48345-9, January 1988.

[6] Petke, R. and I. King, "Registration Procedures for URL Scheme

Names", BCP 35, RFC2717, November 1999.

Appendix A. Registration Template

URL scheme name: go

URL scheme syntax: Section 3.2

Character encoding considerations: Section 3.4

Intended usage: Section 1

Applications and/or protocols which use this scheme: [3]

Interoperability considerations: None not specified in [3]

Security considerations: Section 6

Relevant publications: [3]

Contact: CNRP Working Group

Author/Change Controller: IESG

Author's Address

Michael Mealling

VeriSign, Inc.

21345 Ridgetop Circle

Dulles, VA 20170

US

Phone: (703) 742-0400

EMail: michael@verisignlabs.com

Full Copyright Statement

Copyright (C) The Internet Society (2002). All Rights Reserved.

This document and translations of it may be copied and furnished to

others, and derivative works that comment on or otherwise explain it

or assist in its implementation may be prepared, copied, published

and distributed, in whole or in part, without restriction of any

kind, provided that the above copyright notice and this paragraph are

included on all such copies and derivative works. However, this

document itself may not be modified in any way, such as by removing

the copyright notice or references to the Internet Society or other

Internet organizations, except as needed for the purpose of

developing Internet standards in which case the procedures for

copyrights defined in the Internet Standards process must be

followed, or as required to translate it into languages other than

English.

The limited permissions granted above are perpetual and will not be

revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an

"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING

TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING

BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION

HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF

MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFCEditor function is currently provided by the

Internet Society.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有