Skip To Content

提高地图服务显示性能

当客户端向 ArcGIS Server 发送请求以显示地图服务时,服务器上的响应通常由浏览器进行缓存,并在一段时间之内重复使用。此行为有助于 ArcGIS Server 获得最理想的地图服务显示性能。但您可以根据地图服务及其相关数据在应用程序中的使用方式来调整浏览器使用缓存中响应的时长。通过将 cacheControlMaxAge 属性添加到服务的 JavaScript 对象标记法 (JSON) 实现上述操作。

cacheControlMaxAge 属性的使用方式

ArcGIS Server 地图服务响应包括实体标签 (ETag) 和缓存控制头。ETag 头值是响应的唯一标识符。缓存控制头具有一个最长期限值,该值可向浏览器提供有关浏览器缓存中响应可供重复使用的最大时段的信息。该值由 cacheControlMaxAge 属性控制。

如果重复请求且尚未超过缓存的最长期限,则浏览器将使用缓存的响应而不会将请求发送到服务器。如果已超过最长期限,则浏览器必须将请求发送到服务器,并通过与其缓存中响应相对应的相关 ETag 值设置 IF-NONE-MATCH 头。ArcGIS Server 评估请求,并使用 ETag 值来确定响应是否更改。如果服务器的响应与浏览器中的副本不同,则服务器会将一个新的响应发送到浏览器。如果响应与浏览器中的副本一致,则服务器将提示浏览器继续使用其缓存中的响应。

定义 cacheControlMaxAge 属性值

ArcGIS Server 管理员可定义 cacheControlMaxAge 属性,以指定允许浏览器使用缓存响应的时长。通过减少 ArcGIS Server 发送完整响应的需要,可提高浏览器缓存的效率,有助于优化应用程序,从而节省网络带宽。

地图服务的默认值都是 0。这表示浏览器始终重新发送请求,且 ArcGIS Server 将处理请求并在内容发生更改的情况下向浏览器发送完整的响应。此值适用于大多数应用程序。

对于含有频繁更改的数据集或符号系统的地图服务,建议使用 5 分钟(300 秒)等值。如果应用程序含有动画或时间感知型数据,则需要考虑增大该值从而为应用程序提供更为流畅的动画体验。

要将 cacheControlMaxAge 属性添加到服务并指定其默认值,请执行以下操作:

  1. 在 web 浏览器中打开 ArcGIS Server 管理员目录,然后以具有管理员权限的用户名进行登录。

    URL 地址格式为 http://gisserver.domain.com:6080/arcgis/admin

  2. 单击服务,然后从服务列表中选择要修改的地图服务。如果此处没有列出您的服务,则可能在根文件夹下的目录中列出。
  3. 服务 - <服务名称> (<服务类型>) 页面,滚动至底部然后单击编辑
  4. 服务属性对话框中,找到服务 JSON 的 "properties" 部分。
  5. cacheControlMaxAge 属性添加到该部分,然后指定值(以秒为单位)。示例如下:
    "properties": {
      "cacheControlMaxAge": "300",
  6. 单击保存编辑

服务 - <服务名称>(<服务类型>)页面,验证属性部分中是否显示 cacheControlMaxAge 属性以及您为该属性指定的值。