This topic specifically discusses CORS (Cross Origin Resource Sharing). Additional information on working with proxies can be found in the proxies guide topic.
The
- Provide a performance boost since the web application no longer has to send a request back to its server, wait for the server to access the desired resource, and interpret the result before sending it back to the client.
- Simplify development as it is no longer necessary to maintain a proxy page on your server.
To support CORS, web servers must be pre-configured for it and browsers must be able to support it. For additional details on enabling this in a web server, please visit enable-cors.org.
CORS and WebGL
The JavaScript Maps SDK renders layers using WebGL. WebGL requires access to the raw image data. The images must meet one of the following requirements:
- Be on the same domain as the application, or
- Be hosted on a server that supports CORS, or
- Use a proxy.
Handling CORS in application workflow
Requests will always be made with the assumption that CORS is supported. If your server doesn’t yet support CORS, you can enable a proxy rule.
Although the JavaScript Maps SDK automatically assumes CORS support, we do recommend configuring a proxy if you are unsure about whether the services in your application are enabled for it. This proxy can be referenced within the application via the proxyUrl. By adding this, the application has a fallback mechanism in place in case the service request fails due to lack of CORS support.