CIP Index Object Format for SOIF Objects
RFC 2655

Document Type RFC - Experimental (August 1999; Errata)
Authors Mic Bowman  , Ted Hardie  , Darren Hardy  , Mike Schwartz  , Duane Wessels 
Last updated 2020-01-21
Stream IETF
Formats plain text html pdf htmlized with errata bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 2655 (Experimental)
Consensus Boilerplate Unknown
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                           T. Hardie
Request for Comments: 2655                                        Equinix
Category: Experimental                                          M. Bowman
                                                                 D. Hardy
                                                              M. Schwartz
                                                            Affinia, Inc.
                                                               D. Wessels
                                                              August 1999

                CIP Index Object Format for SOIF Objects

Status of this Memo

   This memo defines an Experimental Protocol for the Internet
   community.  It does not specify an Internet standard of any kind.
   Discussion and suggestions for improvement are requested.
   Distribution of this memo is unlimited.

Copyright Notice

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

1.  Abstract

   The Common Indexing Protocol (CIP) allows servers to form a referral
   mesh for query handling by defining a mechanism by which cooperating
   servers exchange hints about the searchable indices they maintain.
   The structure and transport of CIP are described in (Ref. 1), as are
   general rules for the definition of index object types.  This
   document describes SOIF, the Summary Object Interchange Format, as an
   index object type in the context of the CIP framework.  SOIF is a
   machine-readable syntax for transmitting structured summary objects,
   currently used primarily in the context of the World Wide Web.

   Query referral has often been dismissed as an ineffective strategy
   for handling searches of Web resources, and Web resources certainly
   present challenges not present in structured directory services like
   Rwhois.  In situations where a keyword-based free text search is
   desired, query referral is not likely to be effective because the
   query will probably be routed to every server participating in the
   referral mesh.  Where a search can be limited by reference to a
   specific resource attribute, however, query referral is an effective
   tool.  SOIF can be used to create such a known-attribute query mesh
   because it provides a method for associating attributes with net-
   addressable resources.

Hardie, et al.                Experimental                      [Page 1]
RFC 2655        CIP Index Object Format for SOIF Objects     August 1999

1.1 History

   SOIF was first defined by the Harvest project [Ref 2.] in January
   1994.  SOIF was derived from a combination of the Internet Anonymous
   FTP Archives IETF Working Group (IAFA) templates [Ref 3.] and the
   BibTeX bibliography format [Ref 4.].  The combination was originally
   noted for its advantages of providing a convenient and intuitive way
   for delimiting objects within a stream, and setting apart the URL for
   easy object access or invocation, while still preserving
   compatibility with IAFA templates.

   Mic Bowman, Darren Hardy, Mike Schwartz, and Duane Wessels each
   contributed to the creation of the SOIF format as part of the Harvest
   Project; later work took place as part of the FIND working group.

2.  Name

   The index object described below will have the MIME type of

3.  Payload Format

   Each summary object has 3 fundamental components: a template type, a
   URL, and zero or more ATTRIBUTE-VALUE pairs.  Because the VALUEs in
   the ATTRIBUTE-VALUE pairs may contain arbitrary data (cf. Section
   3.5), SOIF objects should be encoded in Base64 unless the template
   type unambiguously establishes that the VALUEs do not contain binary

3.1  Template Type

   The Template type is used to identify the set of ATTRIBUTEs contained
   within a particular SOIF object.  SOIF does not define the template
   types themselves; it only provides a way to associate the summary
   object with a predefined template type name.  Template types may be
   registered or unregistered.  Unregistered template types provide an
   indication of available ATTRIBUTE-VALUE pairs, but these may vary
   both according to the original resource and the method by which the
   summary object was generated.  Registered template types must refer
   to a formally specified description of all mandatory and optional
   ATTRIBUTE-VALUE pairs available for that type.  See [10] for a
   description of the process of registering template types with the

   Historically, the template types used by SOIF were derived from IAFA
   template types (Ref. 3). SOIF objects generated by the Harvest system
   have a "FILE" template type; in current practice this is the most
Show full document text