Users would like to search using long polygons or many taxon keys. To support this with the current search API, a long (>8k character) URL must pass through:
The user's web browser or other client
Potentially a not-very-good proxy (corporate or education filter etc)
Varnish
a. occurrence-ws
b. vectortile-ws / mapnik-server
SOLR
4.a. is easily fixed for gbif-microservice, 4.b. can be fixed for Dropwizard with
Users would like to search using long polygons or many taxon keys. To support this with the current search API, a long (>8k character) URL must pass through:
4.a. is easily fixed for gbif-microservice, 4.b. can be fixed for Dropwizard with
although there are then issues somewhere in Jersey's regex handling.
is probably OK since using HTTPS should avoid most proxies from modifying the request
requires regexes in Varnish to use
.*?
rather than.*
for the maps rules, and there's a related note in Varnish saying needing this is "madness".That leaves 1. That's a concern from a Jetty developer suggesting all of this is a bad idea, for compatibility and security.
So we need some way to communicate the search terms without using >8kiB, at least for website and API. We could: