⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2967.txt

📁 中、英文RFC文档大全打包下载完全版 .
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   Some constraints, search and case, can appear both as local and   global constraints.  If this happens in a query then the local   constraint specification overrides the global.  For a query like the   following:   fn=leslie;search=exact and org=think:search=substring   the resulting search constraint for "fn=leslie" will be "exact" while   it for "org=think" will be "substring".Daigle & Hedberg             Informational                     [Page 23]RFC 2967                         TISDAG                     October 20005.4 The Referral Index5.4.1 Architecture   The Referral Index contains (only) information necessary to deliver   referrals to DAG-CAPs based on the query types supported by the DAG   itself.  The Referral Index creates an index over these objects so   that it can respond to DAG-CAP queries using the DAG/IP.  The   information is drawn directly from interactions with participating   WDSPs' software, using the Common Indexing Protocol (CIP).5.4.2 Interactions with WDSPs (CIP)   WDSPs that wish to participate in the DAG system must register   themselves (see Section 5.4.6).  Once registered, the Referral Index   will interact with the WDSPs using the Common Indexing Protocol as   defined in [1], using the Index Object defined in Section 5.4.3.5.4.3 Index Object Format   The CIP index object type is based on the Tagged Index Object as   defined in [12].  Appendix E details the expected content of the   index objects as they are to be provided by the WDSPs.      TISDAG: The tokens in the Tagged Index Object should be UTF-8      encoded composed UNICODE version 2 character encoding.5.4.4 DAG-Internal I/O   The Referral Index interacts with the rest of the DAG internal   modules (DAG-CAPs) by listening for queries and responding in the   DAG/IP (defined in Appendix C).5.4.5 The Index Server   The Referral Index must index the necessary attributes of the CIP   index object in order to respond to queries of the form described in   Table 3.1.   The semantics of the chosen CIP object (defined in Appendix E) are   such that a referral to a WDSP server is sent back if (and only if)   - the index object of the WDSP contains all the tokens of the query,     in the attributes specified, according to the logic of the DAG/IP     query, and   - all of those tokens are found with a common tag.Daigle & Hedberg             Informational                     [Page 24]RFC 2967                         TISDAG                     October 2000   This means that a query for the name "Fred Flintstone" (2 tokens)   will yield a referral to a server that has a record for "Fred Amadeus   Flintstone", but not to a WDSP with 2 differently tagged records, for   "Fred Amadeus" and "Julie Flintstone".  Depending on the access   protocol being used and the original end-user query, the referral to   the WDSP with "Fred Amadeus Flintstone" may yield a successful   result, or it may not.  But, it is known that the other WDSP would   not have yielded successful searches.  That is, the referral approach   may yield false-positive results, but will not miss appropriate   WDSPs.5.4.6 Configuration   The Referral Index must provide the ability to register interested   WDSPs, as outlined in Appendix E.   The Referral Index must be able to configure the port for DAG/IP   communications.  Also, it must be configurable to recognize only   registered DAG-CAPs.5.4.7 Security   The Referral Index will accept queries only from recognized   (registered) DAG-CAPs.  This will reduce "denial of service" attack   types, but is also a reflection on the fact that the Referral Index   uses the DAG/IP, (i.e., internal) protocol, which should not be   exposed to non-DAG software.   The Referral Index must be able to use authenticated communication to   receive data from WDSPs (see Appendix E).5.5 Mail (SMTP) DAG-CAP   This is the default Mail DAG-CAP.  More sophisticated ones could   certainly be written -- e.g., for pretty-printed output, or for   handling different philosophies of case-matching.   This DAG-CAP has been designed on the assumption that mail queries   will be human-generated (i.e., using a mail program/text editor), as   opposed to being queries formulated by software agents.  The input   grammar should therefore be simple and liberal in acceptance of   variations of whitespace formatting.Daigle & Hedberg             Informational                     [Page 25]RFC 2967                         TISDAG                     October 20005.5.1 Mail DAG-CAP Input   Mail DAG-CAP input is expected to be a regular or MIME-encoded (see   [9] and [10]) SMTP mail message, sent to an advertised mail address.   The mail DAG-CAP parses the message and replies to it with a MIME-   encoded message containing the results of the DAG search.   One query is accepted per e-mail message -- text after a single valid   query has been read is simply ignored.   The body of the query message must follow the syntax defined below.   Note that all input control terms ("type=", "name=" etc) are shown in   lower case for convenience, but could be upper case or mixed case on   input.   mailquery       = [mnl] [controls] mnl terms mnl   controls        = [msp] "searchtype" [msp] "=" [msp]                        ( matchtype /                          casetype /                          matchtype msp casetype /                          casetype msp matchtype /                          <nothing> )   matchtype       = "substring" / "exact"                  ; default:  substring   casetype        = "ignore" / "sensitive"                  ; default:  ignore   terms           = n / n-l / n-o / n-o-l / r-o / r-o-l   n               = n-term   n-l             = ( n-term l-term  / l-term n-term)   n-o             = ( n-term o-term  / o-term n-term )   n-o-l           = ( n-term o-term l-term /                    n-term l-term o-term /                    l-term n-term o-term /                    l-term o-term n-term /                    o-term l-term n-term /                    o-term n-term l-term )   r-o             = ( r-term o-term / o-term r-term )   r-o-l           = ( r-term o-term l-term /                    r-term l-term o-term /                    l-term o-term r-term /                    l-term r-term o-term /                    o-term l-term r-term /                    o-term r-term l-term )   n-term          = [msp] "name" [msp] "=" [msp] string mnl   o-term          = [msp] "org" [msp] "=" [msp] string mnlDaigle & Hedberg             Informational                     [Page 26]RFC 2967                         TISDAG                     October 2000   l-term          = [msp] "loc" [msp] "=" [msp] string mnl   r-term          = [msp] "role" [msp] "=" [msp] string mnl   string          = <US-ASCII or quoted-printable encoded                   ISO-8859-1 or UTF-8 except nl and sp>   msp             = 1*(sp)    sp              = " "   mnl             = 1*(nl)   nl              = <linebreak>   The following are valid mail queries:   Example 1:   searchtype =   <NL>   name = thinking cat<NL>   Example 2:   searchtype = exact ignore<NL>   name=thinking cat<NL>   Example 3:   role=thinking cat<NL>   org =space colonization<NL>   Example 4:   name=thinking cat <NL>   <NL>   <NL>   My signature line follows here in the most annoying   fashion <NL>   Note that the following are not acceptable queries:   Example 5:   searchtype= exact substring <NL>   name = thinking cat <NL>   Example 6:   name=thinking cat org= freedom fighters anonymous<NL>Daigle & Hedberg             Informational                     [Page 27]RFC 2967                         TISDAG                     October 2000   In Example 5, two conflicting searchtypes are given.  In Example 6,   no linebreak follows the n-term.5.5.2 Translation from Mail query to DAG/IP   Querying the Referral Index   A key element of translating from the Mail DAG-CAP input into the   DAG/IP query format is to "tokenize" the input terms into single   token elements for the DAG/IP query.  For example,  the n-term   name= thinking cat<NL>   is tokenized into 2 n-tokens:   thinking   cat   which are then mapped into the following in the DAG/IP query (dag-n-   terms):   FN=thinking and FN=cat<NL>   The same is true for all r-terms, l-terms and o-terms.  The primary   steps in translating the mail input into a DAG/IP query are:   translate quoted-printable encoding, if necessary   translate base64 encoding, if necessary   tokenize the strings for each term   construct the DAG/IP query from the resulting components, as   described in more detail below   DAG/IP constraints are constructed from the searchtype information in   the query.   dag-matchtype = "search=" <matchtype> /                "search=substring"  ; if matchtype not                                    ; specified   dag-casetype  = "case=ignore"  /    ; if casetype not                                    ; specified or                                    ; casetype=ignore                "case=consider"     ; if casetype=sensitive   constraints   = ":" dag-matchtype ";" dag-casetype   The terms for the DAG/IP query are constructed from the tokenized   strings from the mail input.Daigle & Hedberg             Informational                     [Page 28]RFC 2967                         TISDAG                     October 2000   dag-n-terms   = "FN=" n-token 0*( " and FN=" n-token)   dag-o-terms   = "ORG=" o-token 0*( " and ORG=" o-token)   dag-l-terms   = "LOC=" l-token 0*( " and LOC=" l-token)   dag-r-terms   = "ROLE=" r-token 0*( " and ROLE=" r-token)   This means that the relevant DAG/IP queries are formulated as one of   two types:   dagip-query   = ( ( ( n-query / nl-query / no-query /                      nol-query ) [" and template=DAGPERSON"]":"                   dag-matchtype ";" dag-casetype) /                  ( ( ro-query / rol-query )                    [" and template=DAGORGROLE"]":"                    dag-matchtype ";" dag-casetype)  )   n-query       = dag-n-terms   nl-query      = dag-n-terms " and " dag-l-terms   no-query      = dag-n-terms " and " dag-o-terms   nol-query     = dag-n-terms " and " dag-o-terms " and "                dag-l-terms   ro-query      = dag-r-terms " and " dag-o-term

⌨️ 快捷键说明

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