对 REST 服务进行优化是为了提高 GIS 服务性能,能够快速响应客户端的地图请求。因此 SuperMap iServer REST 服务在图片缓存机制、多种表述类型以及可选的图像参数设置等环节为用户提供了优化的可能,通过对这些内容的合理设置让 GIS 服务性能达到最优。

请求头支持 If-Modified-Since

SuperMap iServer REST 服务能够支持 If-Modified-Since 的 HTTP 请求头标签。用户在向 REST 服务在发送 HTTP 请求时,在 HTTP 请求头中加入 If-Modified-Since 标签,并把浏览器端缓存页面的最后修改时间一起发到服务器去,此时 REST 服务会把客户端缓存文件的时间与服务器上实际文件的最后修改时间进行比较。

  • 如果时间一致,那么返回 HTTP 状态码304(不返回结果),客户端接到之后,就直接把本地缓存文件显示到浏览器中。
  • 如果时间不一致,就返回 HTTP 状态码200和新的结果,客户端接到之后,丢弃旧结果、缓存新结果,显示到浏览器中。

表述类型

REST 资源支持的表述有多种格式,如 HTML,XML,JSON,RJSON,以及图片资源特有的表述格式-PNG,BMP,GIF,JPG 或者 JPEG 等。

通常情况下,由于大部分浏览器都支持 HTML,因此 HTML 是默认的表述格式,但是并不意味着 HTML 是最优的表述,因为 HTML 的响应速度并不是十分的快速。

当用户仅仅需要获取图像而不包括其他数据信息,可以选择使用图片表述格式,如 PNG,因为这些图片可以直接以数据流的方式返回到客户端,不像其他表述格式会带有其他数据或者服务的相关信息。目前,JSON 的表述格式也成为 REST 表述主流,因为 JSON 很容易解析,而且相对来说所占空间较小,所需的带宽要求不高。

图像参数

在地图 REST 服务中,可以对输出图像的参数进行设置,包括图像大小,图片格式。

图像的大小会影响到 REST 服务所需的地图处理时间,过大的图像也受到网络传输性能的影响。如果图像设置在一个适当较小的范围,这会加快 REST 服务处理速度和减少网络传输的时间,进而提高出图性能。

目前,REST 服务支持输出的图片的格式包括 PNG,BMP,GIF,JPG 或者 JPEG 格式。

通常情况下,颜色值多的地图,如遥感影像图多采用 JPG 或者 JPEG 格式的图片。对于矢量数据的图片输出多采用 PNG 和 JPG 图片。虽然 BMP 和 GIF 也受到 SuperMap iServer 的支持,但是一般使用率较低。

临时子资源的生命周期

关于 SuperMap iServer 所采取的用于延长临时资源生命周期的策略,请参考临时子资源的生命周期