Reserved and encoded characters in HTTP GET URLs HTTP POST

Copyright © 2010 Open Geospatial Consortium, Inc. 83 Table 39 — Structure of operation request using HTTP GET URL component Description http:host[:port]path[?{name[=value]}] URL prefix of service operation. [ ] denotes 0 or 1 occurrence of an optional part; {} denotes 0 or more occurrences. name=value One or more standard request parameter namevalue pairs as defined for each operation by this International Standard. This parameter encoding is referred to as Keyword Value Pair KVP encoding in this document.

11.3 Reserved and encoded characters in HTTP GET URLs

The URL specification [IETF RFC 2396] states that all characters other than: a Reserved characters being used for their defined purpose, b Alphanumeric characters, and c The characters -, _, ., , ~, , , , and shall be encoded as xx, where xx is the two hexadecimal digits representing the octet code of the character. Within the query string portion of a URL i.e., everything after the ?, the space character is an exception, and shall be encoded as a plus sign +. A server shall be prepared to decode any character encoded in this manner. This specification explicitly reserves several characters for use in operation requests. When the characters , =, , and + appear in one of the roles defined in Table 41, they shall appear literally in the URL. When those characters appear elsewhere for example, in the value of a parameter, they shall be encoded as defined in [IETF RFC 2396]. Table 40 — Reserved characters in operation request strings Character Reserved usage ? Separator indicating start of query string. Separator between parameters in query string. = Separator between name and value of parameter. , Separator between individual values in list-oriented parameters such as BBOX, LAYERS and STYLES in the WMS 1.3 GetMap request. + Shorthand representation for a space character in the query string.

11.4 HTTP POST

An Online Resource URL intended for HTTP POST operation requests is a complete URL not merely a prefix as in the HTTP GET case that is valid according to [IETF RFC 2396]. This is the URL to which clients transmit request parameters in the body of the POST message. An OWS shall not require additional parameters to be appended to the URL in order to construct a valid target for the operation request. The URL may be different for each operation, or the same, at the discretion of the server provider. When 84 Copyright © 2010 Open Geospatial Consortium, Inc. POST is used, the operation request message may be encoded as an XML document, formatted as specified by one or more XML Schemas. When POST is used, the operation request message may alternately be KVP encoded.

11.5 KVP encoding