RETS Change Proposal 34: Optional "RETS-Server" Server Response Header
Author: Wantao Zhou
Organization: Interealty Corp.
Telephone: (604) 442-2439
Address: 7019 Lougheed Hwy, Burnaby, BC V5A1W2
Email: wanto.zhou@interealty.com
Status: Proposal
Date: 04/24/2003
Proposal Version: 1.5
1. Synopsis
Add a new optional server response header to indicate the server vendor and vendor controlled version number.
2. Rationale
Section 3.8 of RETS standard version 1.5 specifies a "Server" Server Response Header, which "contains information about the software used to handle the request." Although "Microsoft-IIS/4.0" is used as an example of the value for the header, the description is not very clear on whether the value should be for the underneath web server (if any) used by the RETS server, or it's also OK for RETS server itself.

In additional to informational purpose, the vendor name and vendor controlled version number are useful to coordinate releases of a breaking server change with multiple client vendors. With proper communication channels, named (e.g. e-mail) or anonymous (e.g. web site, e-mail list), server vendors can provide breaking changes to client vendors ahead of the release of the change. Client vendors can use this information to prepare client application that works well with both old and new server release, and deploy the changes before server changes are implemented. In a multi-client-vendor environment, this approach will substantially reduce inter-dependencies among different vendors and streamline overall release process.

3. Proposal
Add the following paragraph in Section 3.8, Optional Server Response Header Fields:

RETS-Server   The RETS Server vendor and server controlled version number.

RETS-Server::= VendorName/1*DIGIT. 1*DIGIT. 1*DIGIT. 1*DIGIT

Example: RETS-Server: Interealty-RETS/1.0.22.0

4. Development Impact
RETS server can choose to return the vendor name and the server version number.

If a RETS server returns this optional server response header, RETS client applications can choose to use the information to build code tailored to particular RETS servers and/or versions.

5. Compatibility
As an optional feature, there's no impact on either server's or client's compatibility.
6. Proof/Need of Concept Examples
None.