What MIME type should I use for JavaScript source-map files?
I want to add source maps to my site, but I'd like to exercise some control over how they're served. What is an appropriate MIME type to use for them?
Some data
- The content itself is JavaScript, but not meant to be executed as such.
- CDN.js serves
http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.map
withContent-Type: application/octet-stream
. - Google serves
http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.map
withContent-Type: application/json
- The Source Maps spec states that maps should begin with
)]}
to prevent them from being evaluated as actual JavaScript (and thus exposing cross-site scripting attacks). That makes the file invalid JSON and valid, but un-runnable JavaScript.
Solution 1:
application/json
is the best mimetype for sourcemap files.
application/octet-stream
might work well with browser devtools, however this mimetype is a signal to browsers to initiate a download. This may cause problems for tools like performance analysis tooling or JS exception tracking that attempt to make sense of the source maps.