目前,OGC 网络地图服务唯一支持的分布式计算平台(Distributed Computing Platform,DCP)是 World Wide Web,并且 Internet 主机实现了 HTTP(Hypertext Transfer Protocol,超文本传输协议)。因此,被服务实例支持的每个操作的在线资源(Online Source)是通过一个 HTTP URL(Uniform Resource Locator,统一定位符)定位的。
WMS 1.1.1 支持两种请求方法:GET 和 POST。服务实例可以为一个特定的 OGC 网络服务类型定义或者提供其中一种或者两种方法。在不同的案例中在线资源的 URL 是不同的。
HTTP GET URLs 的保留字符
URL 规范中保留了部分字符。一旦这些字符与它们预定义的用法发生冲突,将被转义。
注:在 SuperMap iServer 6 中,当请求参数中的字符与保留字符冲突时,iServer 将使用 UTF-8 编码机制,进行编码转换。
表1 列举了 WMS 1.1.1版本 GET 请求的中的保留字以及它们的用法。
表1 HTTP GET 请求中的保留字符
字符 | 保留用法 |
? | 表示请求字符串开始的分隔符。 |
& | 请求字符串中参数之间的分隔符。 |
= | 参数的名称和值之间的分隔符。 |
/ | 格式参数值中 MIME 类型和子类型之间的分隔符 |
: | 名字空间和空间参考系统参数值标识符之间的分隔符。 |
, | 参数列表中各个值之间的分隔符。 |
HTTP GET
用来构成 HTTP GET 请求的在线资源 URL ,是必须附加额外参数的 URL 前缀。它构成一个合法的操作请求。 URL 前缀是一个不透明的字符,包含协议、主机名、可选端口号、路径、英文问号“?”以及可选的一个或多个服务器定义的参数,参数以“&”结尾。前缀标识了一个特定的服务实例。客户端以名值对的形式(“name=value&”)附加必要的参数。结果 URL 必须符合 HTTP CGI (Common Gateway Interface,公共网关接口)标准,它托管在查询参数前的”?”和每个参数间的”&”。
URL 前缀必须或者以一个”?”结尾(在没有其它的服务器声明参数时),或者以一个“&”结尾。
下表总结了一个操作请求 URL 的组成。
表2 一个通用的 OGC Web 服务请求
URL 组成 | 描述 |
http://host[:port]/path?{name[value]&} |
服务操作的 URL 前缀。 [ ]表示可选部分,出现0次或1次。 {}表示出现0次或1次。 前缀完全由服务提供者决定 |
Name=value& | 由 OGC Web 服务定义的一个或多个标准请求参数,以参数名/值成对的形式。由必需的或可选的参数组成的实际参数列由相应的 OWS (OGC Web Service) 规范的每一种操作决定。 |
HTTP POST
用于构成 HTTP POST 请求的在线资源 URL,该 URL 是一个完整有效的 URL。客户端在 POST 请求体中提交经过编码的请求。WMS 必须不能有额外的参数附加在 URL 中以构成合法的操作请求。