HTTP Working Group Koen Holtman, TUE Internet-Draft Andrew Mutz, Hewlett-Packard Expires: January 28, 1998 Ted Hardie, NASA Nov 28, 1997 Content Feature Tag Registration Procedure draft-ietf-http-feature-reg-03.txt STATUS OF THIS MEMO This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress". To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Distribution of this document is unlimited. Please send comments to the HTTP working group at . Discussions of the working group are archived at . General discussions about HTTP and the applications which use HTTP should take place on the mailing list. ABSTRACT Recent Internet applications, such as the World Wide Web, tie together a great diversity in data formats, client and server platforms, and communities. This has created a need for negotiation mechanisms in order to tailor the information form to the capabilities and preferences of the parties involved. Extensible negotiation mechanisms need a vocabulary to identify various things which can be negotiated on. To promote interoperability, a registration process is needed to facilitate sharing this vocabulary between the negotiating parties. This document defines a registration procedure which uses the Internet Assigned Numbers Authority (IANA) as a central registry for this content feature vocabulary. TABLE OF CONTENTS 1 Introduction 2 Feature tag syntax 3 Feature tag registration 3.1 Registration trees 3.1.1 IETF tree 3.1.2 Global tree 3.1.3 Local or specialized tree 3.1.4 Special `x.' tree 3.1.5 Additional registration trees 3.2 Location of registered feature tag list 3.3 IANA procedures for registering feature tags 3.4 Registration template 4 Security considerations 5 Acknowledgments 6 References 7 Authors' addresses Appendix A: IANA and RFC editor to-do list 1 Introduction Recent Internet applications, such as the World Wide Web, tie together a great diversity in data formats, client and server platforms, and communities. This has created a need for various kinds of negotiation mechanisms, which tailor the data which is exchanged, or the exchange process itself, to the capabilities and preferences of the parties involved. Extensible negotiation mechanisms need a vocabulary to identify various things which can be negotiated on. To promote interoperability, a registration process is needed to ensure that that this vocabulary, which can be shared between negotiation mechanisms, is developed in an orderly, well-specified, and public manner. This document defines registration procedures which use the Internet Assigned Numbers Authority (IANA) as a central registry for this content feature vocabulary. 2 Feature tag syntax A feature tag is a string consisting of one or more of the following US-ASCII characters: uppercase letters, lowercase letters, digits, colon (":"), slash ("/"), the dot (".") and the dash ("-"). Feature tags are case-insensitive. Dots are understood to potentially imply heirarchy; a feature can be subtyped by describing it as tree.feature.subfeature and by indicating this in the feature registration. 3 Feature tag registration Registration of a new feature tag starts with the submission of a registration proposal. Registration may occur in several different registration trees, which have different requirements as discussed below. In general, the new registration proposal is circulated and reviewed in a fashion appropriate to the tree involved. The feature tag is then registered if the proposal is acceptable. The following sections describe the requirements and procedures used for each of the different registration trees. 3.1 Registration trees The following subsections define registration "trees", distinguished by the use of faceted names (e.g., names of the form "tree.feature_name"). 3.1.1 IETF tree The IETF tree is intended for feature tags of general interest to the Internet Community. Registration in the IETF tree requires approval by the IESG and publication of the feature tag specification as some form of RFC. Feature tags in the IETF tree normally have names that are not explicitly faceted, i.e., do not contain period (".", full stop) characters. The "owner" of a feature tag in the IETF tree is assumed to be the IETF itself. Modification or alteration of the specification requires the same level of processing (e.g. standards track) required for the initial registration. 3.1.2 Global tree The global tree is intended for feature tags of general interest to the Internet Community. Unlike registration in the IETF tree, registration in the global tree does not require approval by the IESG. A registration may be placed in the global tree by anyone who has the need to allow for feature negotiation on a particular capability or preference. Typically, if the creator of an Internet service or product introduces something new to the Internet Community, and if it is meaningful to do negotiation on it, the vendor can register a feature tag in the global tree. The owner of "global" tags and associated specifications is the person or entity making the registration, or one to whom responsibility has been transferred as described below. Tags in the global tree will be distinguished by the leading facet "g.". That may be followed, at the discretion of the registration, by either a designation of an area of negotiation, (e.g., "g.blinktags") or by an IANA-approved designation of the producer's name which is then followed by a designation of an area of negotiation (e.g., g.bigcompany.obscurefeature). While public exposure and review of feature tags to be registered in the global tree is not required, using the ietf-feature-tags list for review is strongly encouraged to improve the quality of those specifications. Registrations in the global tree may be submitted directly to the IANA. 3.1.3 Local or specialized tree The local tree is intended for feature tags identifying areas of negotiation which are relevant in a localized, specialized, restricted, or experimental context. The owner of "local" tags and associated specifications is the person or entity making the registration, or one to whom responsibility has been transferred as described below. Tags in the local tree will be distinguished by the leading facet "l.". While public exposure and review of feature tags to be registered in the local tree is not required, using the ietf-feature-tags list for review is strongly encouraged to improve the quality of those specifications. Registrations in the local tree may be submitted directly to the IANA. 3.1.4 URL trees A feature tag may be defined as a complete URL. The "owner" of the domain is assumed to be registration authority regarding features defined and described by URLs within the domain. These tags are considered unregistered for the purpose of this document. 3.1.5 Additional registration trees From time to time and as required by the community, the IANA may, with the advice and consent of the IESG, create new top-level registration trees. It is explicitly assumed that these trees may be created for external registration and management by well-known permanent bodies, such as scientific societies for media types specific to the sciences they cover. In general, the quality of review of specifications for one of these additional registration trees is expected to be equivalent to that which IETF would give to registrations in its own tree. Establishment of these new trees will be announced through RFC publication approved by the IESG. 3.2 Location of registered feature tag list Feature tag registrations will be posted in the anonymous FTP directory "ftp://ftp.isi.edu/in-notes/iana/assignments/feature- tags/" and all registered feature tags will be listed in the periodically issued "Assigned Numbers" RFC [currently STD 2, RFC-1700]. The feature tag description and other supporting material may also be published as an Informational RFC by sending it to "rfc-editor@isi.edu" (please follow the instructions to RFC authors [RFC-1543]). 3.3 IANA procedures for registering feature tags The IANA will only register feature tags in the IETF tree in response to a communication from the IESG stating that a given registration has been approved. Global and local tags will be registered by the IANA automatically and without any formal review as long as the following minimal conditions are met: (1) A feature tag must function as an actual identifier of an area of negotiation. (2) All feature tag names must be unique, and must conform to the syntax in section 2. (3) An openly available description of the area of negotiation is minimally required. The specification of a feature tag must state whether the choice in the indicated area is a simple yes/no choice, or if it is a choice among multiple values. If the choice is among multiple values, and a canonical format for these values is defined, it must be possible to map this format onto octet strings. (4) Any security considerations given must not be obviously bogus. (It is neither possible nor necessary for the IANA to conduct a comprehensive security review of feature tag registrations. Nevertheless, the IANA has the authority to identify obviously incompetent material and exclude it.) 3.4 Registration template To: ietf-feature-tags@iana.org (Feature tags mailing list) (or directly to iana@iana.org) Subject: Registration of feature tag XXXX | Instructions are preceded by `|'. Some fields are optional. Feature tag name: Summary of the area of negotiation indicated by this feature tag: | Include a short (no longer than 4 lines) description or summary | Examples: | `Negotiation on whether to use the xyzzy feature of ...' | `Negotiation on the MIME media type of the data which | is transmitted for ...' | `Negotiation on whether to use colors in displaying ...' | `Negotiation on the number of colors to use in displaying ...' Number of alternative results in this area of negotiation: [ ] 1. Two alternatives, which can be labeled with `yes' and `no' [ ] 2. More than two alternatives, or two alternatives with no natural `yes/no' labeling For case 1: nature of the `yes' and `no' alternatives: [ ] 1a. A particular feature is used/invoked/enabled, or not [ ] 1b. Other For case 2: How is a single alternative result naturally identified? [ ] 2a. With a name, keyword, label, or tag (e.g. a language tag) [ ] 2b. With an integer value [ ] 2c. With a numeric value of a non-integer type (e.g. float) [ ] 2d. Other [ ] 2e. There is no simple way to identify a single result (Only for case 1a) Description of the feature which is used, invoked, or enabled if the result is `yes': | Descriptions may also reference outside material. (Only for case 1b) Description of the effect of the 'yes' result: (Only for case 1b) Description of the effect of the 'no' result: (Only for case 2) Detailed description of the area of negotiation, and (in cases 2a-2d) of the format and meaning of the identifiers for the alternative results: | If the number of alternative results is small, the description | could simply enumerate the identifiers of the different results | and describe their meaning. | | The identifiers of the alternative results could also be | described by referring to another IANA registry, for example | the MIME media type registry. Default negotiation result (if applicable to the intended application domain): The feature tag is intended for use in the applications, protocols, services, or negotiation mechanisms: [optional] | For applications, also specify the number of the first version | which will use the tag, if applicable. Examples of typical use: [optional] Related standards or documents: [optional] Considerations particular to use in individual applications, protocols, services, or negotiation mechanisms: [optional] Interoperability considerations: [optional] Security considerations: Additional information: [optional] Keywords: [optional] Related feature tags: [optional] Related media types or data formats: [optional] Related HTML markup tags: [optional] Person & email address to contact for further information: Intended usage: | one of COMMON, LIMITED USE or OBSOLETE Author/Change controller: Requested IANA publication delay: [optional] | A delay may only be requested for registration in global or | local trees, with a maximum of two months. Other information: [optional] | Any other information that the author deems interesting may be | added here. 4 Security considerations When used, negotiation mechanisms usually reveal some information about one party to other parties. This may raise privacy concerns, and may allow a malicious party to make more educated guesses about the presence of security holes in the other party. 5 Acknowledgments The details of the registration procedure in this document were directly adapted from [1]. Much of the text in section 3 was directly copied from this source. The idea of creating a vocabulary of areas of negotiation, which is maintained in a central open registry, is due to discussions on extensible negotiation mechanisms in the IETF HTTP working group. The authors wish to thank Ted Hardie, Larry Masinter and Graham Klyne for contributing to discussions about feature tag registration. 6 References [1] N. Freed, J. Klensin, J. Postel, Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures. RFC 2048, BCP 13, Network Working Group, November 1996 7 Authors' addresses Koen Holtman Technische Universiteit Eindhoven Postbus 513 Kamer HG 6.57 5600 MB Eindhoven (The Netherlands) Email: koen@win.tue.nl Andrew H. Mutz Hewlett-Packard Company 11000 Wolfe Rd. 42UO Cupertino CA 95014 USA Fax +1 408 447 4439 Email: andy_mutz@hp.com Ted Hardie NASA hardie@thornhill.arc.nasa.gov Appendix A: IANA and RFC editor to-do list VERY IMPORTANT NOTE: This appendix is intended to communicate various editorial and procedural tasks the IANA and the RFC Editor should undertake prior to publication of this document as an RFC. This appendix should NOT appear in the actual RFC version of this document! This document refers to the feature tags mailing list ietf-feature-tags@iana.org. This list does not exist at the present time and needs to be created. The ftp://ftp.isi.edu/in-notes/iana/assignments/feature-tags/" area does not exist at the present time and needs to be created. Expires: June 1, 1998