Mapserver Wishlist Items

Caching headers. Geoserver has an outstanding JIRA item about this, and a geoserver mailing list post describes the problem:

Putting squid in front of geoserver can help tremendously, but squid is very reluctant to cache anything without proper caching meta-information in the appropriate http headers.

This applies to mapserver as well.

Additionally, when running mapserver behind squid, libcurl sends “Pragma: no-cache” headers, so even if a remote mapserver instance supported caching (which it doesn’t), it wouldn’t be cached when behind a proxy. I think this is fixable by adding ‘Pragma:’ to the header setting code in maphttp.c, but I tried that and couldn’t get it to work.

The combinations of these would make tiling map apps much more realistic, since it would reduce load when requesting tiles from the map server.

3 Responses to “Mapserver Wishlist Items”

  1. john Says:

    you *can* make squid ignore no-cache requests, however.

  2. Christopher Schmidt Says:

    Hey, cool: Thanks john, I hadn’t been able to find that. Works like a charm — so at least I can live without fixing *both* bugs in Mapserver 😉 Still annoying that I have to do it at all, but given the difficulty I had in tracking the issue down in the first place, I’m not surprised that it’s there, so I’ll just work around it for now.

    Now to get mapserver et al to send caching headers on their own, so I don’t have to pipe through my own services at all…

  3. David Says:


    Have you looked at Ka-map. I am pretty sure that they use squid to cache their tiles.