Version numbering and negotiation

Feedback


Version number form

The published specification version number contains three positive integers, separated by decimal points, in the form "x.y.z". The numbers "y" and "z" will never exceed 99. For example, versions of WFS includes 1.0.0, 2.0.0, etc.

Appearance of version number

The version number appears in at least two places: in the Capabilities XML describing a service, and in the parameter list of client requests to that service.

Version number negotiation

Negotiation is performed using the GetCapabilities operation.

All Capabilities XML must include a protocol version number. In response to a GetCapabilities request containing a version number, an OGC Web Service must respond with the requested version.

Version requested from the client should match with version supported by the server; otherwise, closest version number will be matched:

The process is repeated until a mutually understood version is reached, or until the client determines that it will not or cannot communicate with that particular server.

Example 1: Server understands versions 1, 2, 4, 5 and 8. Client understands versions 1, 3, 4, 6, and 7. Client requests version 7. Server responds with version 5. Client requests version 4. Server responds with version 4, which the client understands, and the negotiation ends successfully.

Example 2: Server understands versions 4, 5 and 8. Client understands version 3. Client requests version 3. Server responds with version 4. Client does not understand that version or any higher version, so negotiation fails and client ceases communication with that server.