HTTP响应头¶
与geoserver集成的geoWebcache使用存储在响应头中的特殊信息。这些头可以直接调用 GeoWebCache endpoint 或与 direct WMS integration .
自定义响应头¶
geoWebcache在服务tile请求时返回标准和自定义HTTP响应头。这有助于调试过程以及遵循HTTP 1.1传输控制机制。
响应头可以通过诸如 cURL .
例子¶
备注
对于下面的所有curl命令,请确保替换 >/dev/null
具有 >nul
如果您在Windows上运行。
这是一个使用curl的请求和响应示例:
curl -v "http://localhost:8080/geoserver/gwc/service/wms?LAYERS=sde%3Abmworld&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-180,-38,-52,90&WIDTH=256&HEIGHT=256&tiled=true" > /dev/null
< HTTP/1.1 200 OK
< geowebcache-tile-index: [0, 1, 2]
< geowebcache-cache-result: HIT
< geowebcache-tile-index: [0, 1, 2]
< geowebcache-tile-bounds: -180.0,-38.0,-52.0,90.0
< geowebcache-gridset: GlobalCRS84Pixel
< geowebcache-crs: EPSG:4326
< Content-Type: image/png
< Content-Length: 102860
< Server: Jetty(6.1.8)
从中可以了解到在缓存中找到了磁贴。 (HIT
,请求的图块来自名为 GlobalCRS84Pixel
并且有一个 EPSG:4326
.
自定义响应头列表¶
下面是自定义响应头的完整列表。每当geoWebcache为tile请求提供服务时,它将在HTTP响应上写入以下部分或全部自定义头。
响应报头 |
描述 |
---|---|
|
显示是否使用了geoWebcache wms。选项包括:
|
|
包含在相应网格空间中返回的瓦片图像的X、Y、Z顺序中的三维瓦片索引(例如 |
|
返回的瓦片在相应坐标参考系中的边界(例如 |
|
图块所属网格集的名称(请参见 网格集 更多信息) |
|
匹配网格集的坐标参考系统代码(例如 |
上次修改时间和修改时间¶
行为良好的HTTP 1.1客户端和服务器应用程序可以利用 Last-Modified
和 If-Modified-Since
HTTP控制机制,以了解本地缓存内容何时是最新的,从而消除了再次下载相同内容的需要。这可以节省大量的带宽。(见HTTP 1.1 RFC 2616 ,第14.29和14.25节,了解有关这些机制的更多信息。)
geoWebCache将写入 Last-Modified
HTTP响应头在服务一个瓦片图像时。日期写为RFC-1123 HTTP-Date
::
Last-Modified: Wed, 15 Nov 1995 04:58:08 GMT
连接到geoWebcache的客户端可以使用 If-Modified-Since
请求头。如果在 Last-Modified
响应头,geoWebcache将返回 304
指示资源可用且未修改的状态代码。
例子¶
对特定磁贴的查询返回 Last-Modified
响应头:
curl -v "http://localhost:8080/geoserver/gwc/service/wms?LAYERS=img%20states&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-135,45,-90,90&WIDTH=256&HEIGHT=256" >/dev/null
> Host: localhost:8080
> Accept: */*
>
< HTTP/1.1 200 OK
...
< Last-Modified: Wed, 25 Jul 2012 00:42:00 GMT
< Content-Type: image/png
< Content-Length: 31192
此请求具有 If-Modified-Since
标题设置为返回内容后一秒钟 Last-Modified
:
curl --header "If-Modified-Since: Wed, 25 Jul 2012 00:42:01 GMT" -v "http://localhost:8080/geoserver/gwc/service/wms?LAYERS=img%20states&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-135,45,-90,90&WIDTH=256&HEIGHT=256" >/dev/null
> Host: localhost:8080
> Accept: */*
> If-Modified-Since: Wed, 25 Jul 2012 00:42:01 GMT
>
< HTTP/1.1 304 Not Modified
< Last-Modified: Wed, 25 Jul 2012 00:42:00 GMT
< Content-Type: image/png
< Content-Length: 31192
响应代码为 304
.由于该文件自请求中指定的时间以来未被修改,因此实际上没有传输任何内容。客户被告知其瓦片副本是最新的。
但是,如果要设置 If-Modified-Since
报头到 之前 储存的时间 Last-Modified
,您将收到 200
将下载状态代码和磁贴。
此示例设置 If-Modified-Since
在返回前一秒 Last-Modified
:
curl --header "If-Modified-Since: Wed, 25 Jul 2012 00:41:59 GMT" -v "http://localhost:8080/geoserver/gwc/service/wms?LAYERS=img%20states&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-135,45,-90,90&WIDTH=256&HEIGHT=256" >/dev/null
> Host: localhost:8080
> Accept: */*
> If-Modified-Since: Wed, 25 Jul 2012 00:41:59 GMT
>
< HTTP/1.1 200 OK
...
< Last-Modified: Wed, 25 Jul 2012 00:42:00 GMT
< Content-Type: image/png
< Content-Length: 31192