The Application Cache Buster (short AppCacheBuster) is similar to the Cache Buster but is used for application resources.
SAPUI5 supports the application cache buster concept for Java and ABAP servers and for SAP HANA Cloud Platform. SAP HANA XS does not support the application cache buster concept.
Applications provide an index file (created on the fly) containing the last modified timestamps of all included files (scripts, properties – files which we load via XHR programmatically). Technically this file is a mapping between the request path (below the context path of the application) and the last modified timestamp.
The server in general caches all the above resources (not using the 304/not modified mechanism). For the index file we are using the 304/not modified mechanism to avoid to load when it has not been changed.
On the client-side we initially load this file of the application when enabled via configuration option sap-ui-appcachebuster and use this for the XHR requests. If the request path is contained in the above mentioned index file we simply add the timestamp as leading path segment to this request. If the timestamp doesn’t change the URL is unique and therefore it will be taken from cache. Once the file is modified the URL parameter will be changed and therefore loaded again from the backend.
The server has to delete the timestamp from this URL to lookup the file properly. For the Java applications SAPUI5 provides an AppCacheBusterFilter and for ABAP the logic is implemented in the ICF handler. Both backend implementations also generate the index file on-the-fly.