There are different controls for the Cache-Control headers for the API and MediaWiki's OutputPage. This may have seemed innocuous in the past, but it is causing problems now that VisualEditor is moving page editing to the API.
On my local wiki pages are served with:
Cache-Control: private, must-revalidate, max-age=0
and, when mCacheMode is set to 'private', the default, API responses are sent with:
Cache-Control: private
RFC 2616 says:
private Indicates that all or part of the response message is intended for a single user ... A private (non-shared) cache MAY cache the response.
and:
A cache MAY be configured to return stale responses without validation, but only if this does not conflict with any "MUST"-level requirements concerning cache validation (e.g., a "must-revalidate" cache-control directive).
and:
If a cache receives a 5xx response while attempting to revalidate an entry, it MAY either forward this response to the requesting client, or act as if the server failed to respond. In the latter case, it MAY return a previously received response unless the cached entry includes the "must-revalidate" cache-control directive (see section 14.9).
old description:
IE 11 seems to cache faulty parsoid responses.
I had a misconfigured server and, even after I fixed the problem and other browsers were able to continue after clicking "edit", IE didn't even attempt to make a request but just kept showing the alert box with the error message.