rfc2609.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,566 行 · 第 1/5 页

TXT
1,566
字号






Network Working Group                                        E. Guttman
Request for Comments: 2609                                   C. Perkins
Updates: 2165                                                  J. Kempf
Category: Standards Track                              Sun Microsystems
                                                              June 1999


                 Service Templates and Service: Schemes

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 (1999).  All Rights Reserved.

Abstract

   The "service:" URL scheme name is used to define URLs (called
   "service: URLs" in this document) that are primarily intended to be
   used by the Service Location Protocol in order to distribute service
   access information.  These schemes provide an extensible framework
   for client-based network software to obtain configuration information
   required to make use of network services.  When registering a
   service: URL, the URL is accompanied by a set of well-defined
   attributes which define the service.  These attributes convey
   configuration information to client software, or service
   characteristics meaningful to end users.

   This document describes a formal procedure for defining and
   standardizing new service types and attributes for use with the
   "service:" scheme.  The formal descriptions of service types and
   attributes are templates that are human and machine understandable.
   They SHOULD be used by administrative tools to parse service
   registration information and by client applications to provide
   localized translations of service attribute strings.










Guttman, et al.             Standards Track                     [Page 1]

RFC 2609               Service Templates and URLs              June 1999


Table of Contents

    1. Introduction                                                    2
        1.1. Terminology  . . . . . . . . . . . . . . . . . . . . .    3
        1.2. Service Location Protocol  . . . . . . . . . . . . . .    5
              1.2.1. Compatibility with SLPv1 . . . . . . . . . . .    5
    2. Service URL Syntax and Semantics                                5
        2.1. Service URL Syntax   . . . . . . . . . . . . . . . . .    5
        2.2. Service URL Semantics  . . . . . . . . . . . . . . . .    8
        2.3. Use of service: URLs   . . . . . . . . . . . . . . . .    9
        2.4. Specifying the Service Type-Specific URL Syntax. . . .   10
        2.5. Accommodating Abstract Service Types   . . . . . . . .   10
              2.5.1. Advertising Abstract Service Types . . . . . .   11
    3. Syntax and Semantics of Service Type Specifications            12
        3.1. Syntax of Service Type Templates   . . . . . . . . . .   12
        3.2. Semantics of Service Type Templates. . . . . . . . . .   15
              3.2.1. Definition of a Service Template . . . . . . .   15
              3.2.2. Service Type . . . . . . . . . . . . . . . . .   16
              3.2.3. Version Number . . . . . . . . . . . . . . . .   16
              3.2.4. Description  . . . . . . . . . . . . . . . . .   16
              3.2.5. Syntax of the Service Type-specific URL Part .   17
              3.2.6. Attribute Definition   . . . . . . . . . . . .   17
    4. A Process For Standardizing New Service Types                  21
    5. IANA Considerations                                            22
    6. Internationalization Considerations                            24
        6.1. Language Identification and Translation. . . . . . . .   24
    7. Security Considerations                                        25
    A. Service Template Examples                                      26
        A.1. FOO . . . . . . . . . . . . . . . . . .. . . . . . . .   26
        A.2. Abstract Service Type:  Net-Transducer . . . . . . . .   28
        A.3. Concrete Service Type:  Net-Transducer:Thermometer . .   29
        A.4. service: URLs and SLP  . . . . . . . . . . . . . . . .   30
    B. Acknowledgments                                                30
    C. References                                                     31
    D. Authors' Addresses                                             32
    E. Full Copyright Statement                                       33

1. Introduction

   This document describes a URL scheme, called service: URL, which
   defines network access information for network services using a
   formal notation.  In addition it describes how to define a set of
   attributes to associate with a service: URL. These attributes will
   allow end users and programs to select between network services of
   the same type that have different capabilities.  The attributes are
   defined in a template document that is readable by people and
   machines.




Guttman, et al.             Standards Track                     [Page 2]

RFC 2609               Service Templates and URLs              June 1999


   A client uses attributes to select a particular service.  Service
   selection occurs by obtaining the service: URL that offers the right
   configuration for the client.  Service type templates define the
   syntax of service: URLs for a particular service type, as well as the
   attributes which accompany a service: URL in a service registration.

   Templates are used for the following distinct purposes:

    1. Standardization

       The template is reviewed before it is standardized.  Once it is
       standardized, all versions of the template are archived by IANA.

    2. Service Registration

       Servers making use of the Service Location Protocol [10] register
       themselves and their attributes.  They use the templates to
       generate the service registrations.  In registering, the service
       must use the specified values for its attributes.

    3. Client presentation of Service Information

       Client applications may display service information.  The
       template provides type information and explanatory text which may
       be helpful in producing user interfaces.

    4. Internationalization

       Entities with access to the template for a given service type in
       two different languages may translate between the two languages.

       A service may register itself in more than one language using
       templates, though it has been configured by an operator who
       registered service attributes in a single language.

   All grammar encoding follows the Augmented BNF (ABNF) [8] for syntax
   specifications.

1.1. 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 RFC 2119  [6].








Guttman, et al.             Standards Track                     [Page 3]

RFC 2609               Service Templates and URLs              June 1999


   The following terminology is used for describing service: URLs.

      service scheme

         A URL scheme whose name starts with the string "service:" and
         is followed by the service type name, constructed according to
         the rules in this document.

      service: URL

         A URL constructed according to the service scheme definition.
         It typically provides at least the following:  The name of an
         access protocol, and an address locating this service.  The
         service: URL may include url path information specific to the
         type of service, as well as attribute information encoded
         according to the URL grammar.  The service: URL is used by the
         Service Location Protocol to register and discover the location
         of services.  It may be used by other protocols and in
         documents as well.

      service type

         A name identifying the semantics by which the remainder of the
         service: URL is to be understood.  It may denote either a
         particular network protocol, or an abstract service associated
         with a variety of protocols.  If the service type denotes a
         particular protocol, then the service type name SHOULD either
         be assigned the name of a particular well known port [2] by
         convention or be the Assigned Numbers name for the service [1].

      abstract service type

         A service type name which is associated with a variety of
         different protocols.  An example is given in Section A.
         Section 2 discusses various ways that abstract types can be
         accommodated.

      service registration

         A service: URL and optionally a set of attributes comprise a
         service registration.  This registration is made by or on
         behalf of a given service.  The URL syntax and attributes must
         conform to the service template for the registered service.

      service template

         A formal description of the service attributes and service
         scheme associated with a particular service type.



Guttman, et al.             Standards Track                     [Page 4]

RFC 2609               Service Templates and URLs              June 1999


1.2. Service Location Protocol

   The Service Location Protocol version 2 [10] allows service: URLs to
   be registered and discovered, though service: URLs may be also used
   in other contexts.

   Client applications discover service registrations by issuing queries
   for services of a particular type, specifying the attributes of the
   service: URLs to return.  Clients retrieve the attributes of a
   particular service by supplying its service: URL. Attributes for all
   service registrations of a particular type can also be retrieved.

   Services may register themselves, or registrations may be made on
   their behalf.  These registrations contain a service: URL, and
   possibly attributes and digital signatures.

1.2.1. Compatibility with SLPv1

   This document adopts the encoding conventions of SLPv2.

   Compatibility with SLPv1 [[15]] is possible, if the following
   conventions are observed:

    1. Abstract service types must not be used.  SLPv2 specifies the
       use of Service URLs with abstract service types.  SLPv1 does not
       support them.  Thus, a service template which is to serve both
       SLPv1 and SLPv2 must not use abstract service types.

    2. The syntax for representing opaque values in this document is
       consistent with SLPv2.  The syntax must be converted for use with
       SLPv1.  Instead of a sequence of "\FF" then "\" HEXDIG HEXDIG for
       each byte in the opaque value, SLPv1 uses radix-64 notation.

    3. Escape characters are significantly differently in SLPv1 and
       SLPv2.  Instead of using escaped byte notation for escaped
       characters, SLPv1 uses the HTML convention `&' `#' 1*DIGIT `;'.

2. Service URL Syntax and Semantics

   This section describes the syntax and semantics of service: URLs.

2.1. Service URL Syntax

   The syntax of the service: URL MUST conform to an 'absolute URI' as
   defined by [5].  The syntax of a service:  URL differs enough from a
   'generic URI' that it is best to treat it as an opaque URI unless a
   specific parser for the service:  URL is available.




Guttman, et al.             Standards Track                     [Page 5]

RFC 2609               Service Templates and URLs              June 1999


   All service:  URLs have the same syntax up to the 'url-part' The
   syntax for a service URL depends on the service type following the
   service scheme.  All service:  URLs have a service access point
   portion, indicating the address of the service to access.

   The syntax for the <sap> field depends upon the service type
   definition.  The <sap> field is the service access point, and
   describes how to access the service.  In addition, although both
   upper case and lower case characters are recognized in the <service-
   type> field for convenience, the name is case-folded into lower case.
   Service types are therefore not distinguished on the basis of case,
   so, for example, "http" and "HTTP" designate the same service type.
   This is consistent with general URL practice, as outlined in [5].

   The ABNF for a service: URL is:

      service: URL    =   "service:" service-type ":" sap
      service-type    =   abstract-type ":" url-scheme / concrete-type
      abstract-type   =   type-name [ "." naming-auth ]
      concrete-type   =   protocol [ "." naming-auth ]
      type-name       =   resname
      naming-auth     =   resname
      url-scheme      =   resname
                          ; A recognized URL scheme name, standardized
                          ; either through common practice or through
                          ; approval of a standards body.
      resname         =   ALPHA [ 1*(ALPHA / DIGIT / "+" / "-") ]
      sap             =   site [url-part]

⌨️ 快捷键说明

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