Ah, ok.
First of all, ZAP assumes that anything delivered over https is sensitive and therefore shouldnt be cached.
For JS and CSS files that _could_ be an incorrect assumption for your application.
So have a look at those files, and if you dont mind them being cached in the browser then one option is to just ignore the warnings.
Just imagine someone accessing your app from an internet cafe ;)
The Ajax requests would concern me.
Are they being handled by servlets?
If so then you should be able to set the headers - maybe your filter configuration is incorrect?
I'd put some logging in the filter to see whats going through it.
If you are concerned about the JS and CSS files, then am I right in thinking the JS and CSS are files being served 'directly'?
eg by URLs which refer to the resource, like
www.example.com/myapp/javascript/script.jsIf so then the server filter wont get called for them as they are not servlets.
One option (which I've implemented before for the same reasons) is to serve the files indirectly, ie creating a servlet just for those files, so you end up with URLs like
www.example.com/myapp/FileServlet?file=script.jsJust be sure you dont introduce a 'local file inclusion' vulnerability, otherwise you'll be vulnerable to attacks like
www.example.com/myapp/FileServlet?file=../../../../etc/passwdCheers,
Simon