rfc1835.txt

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

TXT
1,693
字号
RFC 1835          Architecture of the WHOIS++ service        August 1995


1.2.3.  The WHOIS++ Search Selection Mechanism

   The WHOIS++ search mechanism is intended to be extremely simple. A
   search command consists of one or more search terms, with an optional
   set of global constraints (specifiers that modify or control a
   search).

   Search terms allow the user to specify template type, attribute,
   value or handle that any record returns must satisfy. Each search
   term can have an optional set of local constraints that apply to only
   that term.

   A WHOIS++ database may be seen as a single rolodex-like collection of
   typed records.  Each term specifies a further constraint that the
   selected set of output records must satisfy. Each term may thus be
   thought of as performing a subtractive selection, in the sense that
   any record that does not fulfil the term is discarded from the result
   set.  Boolean searches are possible by the use of AND, OR, NOT and
   parenthesis.

1.2.4.  The WHOIS++ Architecture

   The WHOIS++ directory service has an architecture which is separated
   into two components; the base level server, which is described in
   this paper, and a indexing server. A single physical server can act
   as both a base level server and an indexing server.

   A base level server is one which contains only filled templates. An
   indexing server is one which contains forward knowledge (q.v.) and
   pointers to other indexing servers or base level servers.





















Deutsch, et al              Standards Track                     [Page 7]

RFC 1835          Architecture of the WHOIS++ service        August 1995


1.3.  Indexing in WHOIS++

   Indexing in WHOIS++ is used to tie together many base level servers
   and index servers into a unified directory service.

   Each base level server and index server which wishes to participate
   in the unified directory service must generate "forward knowledge"
   for the entries it contains. One type of forward knowledge is the
   "centroid".

   An example of a centroid is as follows: if a whois++ server contained
   exactly three records, as follows:

        Record 1                        Record 2
        Template: Person                Template: Person
        First-Name: John                First-Name: Joe
        Last-Name: Smith                Last-Name: Smith
        Favourite-Drink: Labatt Beer    Favourite-Drink: Molson Beer

        Record 3
        Template: Domain
        Domain-Name: foo.edu
        Contact-Name: Mike Foobar

        the centroid for this server would be

        Template:       Person
        First-Name:     Joe
                        John
        Last-Name:      Smith
        Favourite-Drink:Beer
                        Labatt
                        Molson

        Template:       Domain
        Domain-Name:    foo.edu
        Contact-Name:   Mike
                        Foobar

   An index server would then collect this centroid for this server as
   forward knowledge.

   Index servers can collect forward knowledge for any servers it
   wishes.  In effect, all of the servers that the index server knows
   about can be searched with a single query to the index server; the
   index server holds the forward knowledge along with pointers to the
   servers it indexes, and can refer the query to servers which might
   hold information which satisfies the query.



Deutsch, et al              Standards Track                     [Page 8]

RFC 1835          Architecture of the WHOIS++ service        August 1995


   Implementors of this protocol are strongly encouraged to incorporate
   centroid generation abilities into their servers.

-------------------------------------------------------------------

                              ____             ____
top level                    |    |           |    |
whois index                  |    |           |    |
servers                       ----             ----


                        ____                ____
first level            |    |              |    |
whois index            |    |              |    |
servers                 ----                ----


                    ____                ____                ____
individual         |    |              |    |              |    |
whois servers      |    |              |    |              |    |
                    ----                ----                ----


                 Fig. 2 - Indexing system architecture.

-------------------------------------------------------------------

1.4.  Getting Help

   Another extension to the basic WHOIS service is the requirement that
   all servers support at least a minimal set of help commands, allowing
   users to find out information about both the individual server and
   the entire WHOIS++ service itself. This is done in the context of the
   new extended information model by defining two specific template
   formats and requiring each server to offer at least one example of
   each record using these formats. The operator of each WHOIS service
   is therefor expected to have, as a minimum, a single example of
   SERVICES and HELP records, which can be accessed through appropriate
   commands.

1.4.1.  Minimum HELP Required

     Executing the command:

             DESCRIBE

     gives a brief information about the WHOIS++ server.




Deutsch, et al              Standards Track                     [Page 9]

RFC 1835          Architecture of the WHOIS++ service        August 1995


     Executing the command:

             HELP

     gives a brief description of the WHOIS++ service itself.

     The text of both required helped records should contain pointers to
     additional help subjects that are available.


     Executing the command:

             HELP <searchstring>

     may give information on any topic.

1.5.  Options and Constraints

   The WHOIS++ service is based upon a minimal core set of commands and
   controlling constraints. A small set of additional optional commands
   and constraints can be supported. These would allow users to perform
   such tasks as provide security options, modify the information
   contents of a server or add multilingual support. The required set of
   WHOIS++ commands are summarized in section 2.2.  WHOIS++ constraints
   are described in section 2.3. Optional constraints are described in
   section 2.3.2.

1.6.  Formatting Responses

   The output returned by a WHOIS++ server is structured to allow
   machine parsing and automated handling. Of particular interest in the
   ability to return summary information about a search (without having
   to return the entire results).

   All output of searches will be returned in one of five output
   formats, which will be one of FULL, ABRIDGED, HANDLE, SUMMARY or
   SERVER-TO-ASK.  Note that a conforming server is only required to
   support the first four formats.

   When available, SERVER-TO-ASK format is used to indicate that a
   search cannot be completed but that one or more alternative WHOIS++
   servers may be able to perform the search.

   Details of each output format are specified in section 2.4.







Deutsch, et al              Standards Track                    [Page 10]

RFC 1835          Architecture of the WHOIS++ service        August 1995


1.7.  Reporting Warnings and Errors

   The formatted response of WHOIS++ commands allows the encoding of
   warning or error messages to simplify parsing and machine handling.
   The syntax of output formats are described in detail in section 2.4,
   and details of WHOIS++ warnings and error conditions are given in
   Appendix E.

   All system messages are numerical, but can be tagged with text. It is
   the clients decision if the text is presented to the user.

1.8.  Privacy and Security Issues

   The basic WHOIS++ service was conceived as a simple, unauthenticated
   information lookup service, but there are occasions when
   authentication mechanisms are required. To handle such cases, an
   optional mechanism is provided for authenticating each WHOIS++
   transaction.

   The current identified authentication mechanism is PASSWORD, which
   uses simple password authentication. Any other scheme name used must
   begin with the characters "X-" and should thus be regarded as
   experimental and non-standard.

   Note that the WHOIS++ authentication mechanism does not dictate the
   actual authentication scheme used, it merely provides a framework for
   indicating that a particular transaction is to be authenticated, and
   the appropriate mechanisms to use. This mechanism is extensible and
   individual implementors are free to add additional mechanisms.

   This document includes a very simple authentication scheme where a
   combination of username and password is sent together with the search
   string so the server can verify that the user have access to the
   information. Note that this is NOT by any means a method recommended
   to secure the data itself because both password and information are
   tranferred unencrypted over the network.

   Given the unauthenticated nature that default services like white
   pages services are, it is easy to either forget the implications of
   this and just show all data to the public Internet, or think that
   Internet is so dangerous that information is hidden from the Internet
   so the whole idea of a global white pages service is lost.  Therefore
   the type of authentication scheme selected and the public nature of
   the Internet environment must still be taken into consideration when
   assessing the security and authentication of the information served.

   A more detailed exposition on security is outside the scope of this
   document.



Deutsch, et al              Standards Track                    [Page 11]

RFC 1835          Architecture of the WHOIS++ service        August 1995


2.  Part II - WHOIS++ Implementation

2.1.  The WHOIS++ interaction model

   A WHOIS++ server will normally listen for a TCP connections on the
   allocated WHOIS++ port (although a WHOIS++ server can be accessed
   over any TCP connection). Once a connection is established, the
   server issues a banner message, and listens for input. The command
   specified in this input is processed and the results returned
   including an ending system message. If the optional HOLD constraint
   has not been specified the connection is then terminated.

   If the server supports the optional HOLD constraint, and this
   constraint is specified as part of any command, the server continues
   to listen on the connection for another line of input.  This cycle
   continues as long as the sender continues to append the required HOLD
   constraint to each subsequent command.

   At the same time, each server is permitted to set an optional timeout
   value (which should be indicated in the response to the CONSTRAINTS
   command). If set, the server is free to terminate an idle connection
   at any time after this delay has passed with no input from the
   client. If the server terminates the connection due to timeout, it
   will be indicated by the system message. The timeout value is not
   changeable by the client.

2.2.  The WHOIS++ Command set

   There are two types of WHOIS++ commands - system commands and the
   WHOIS++ search command.

   The WHOIS++ command set consists of a core set of required systems
   commands, a single required search command and an set of optional
   system commands which support features that are not required by all
   servers. The set of required WHOIS++ system commands are listed in
   Table I. Details of the allowable search terms for the search command
   are included in Table II.

   Each WHOIS++ command also allows the use of one or more controlling
   constraints, when selected can be used to override defaults or
   otherwise modify server behavior. There is a core set of constraints
   that must be supported by all conforming servers. These include
   SEARCH (which controls the type of search performed), FORMAT (which
   determines the output format used) and MAXHITS (which determines the
   maximum number of matches that a search can return).

   These required constraints are summarized in Table III.




Deutsch, et al              Standards Track                    [Page 12]

RFC 1835          Architecture of the WHOIS++ service        August 1995


⌨️ 快捷键说明

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