<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: Resources (css, js, images) in Ivy - performance impact ?</title><link>https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact</link><description>&lt;p&gt;Dear Ivy Team&lt;/p&gt;
&lt;p&gt;Usually the static web content such as css, js, images etc are offloaded and put in a web proxy in order to reduce the data load for the app server. Of course these files must be cached on the browser side. But still they must expire on a daily basis (since hotfixes can come in on a daily basis).&lt;/p&gt;
&lt;p&gt;Any ideas ?&lt;/p&gt;
&lt;p&gt;Regards
John&lt;/p&gt;</description><atom:link href="https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact" rel="self"></atom:link><language>en</language><lastBuildDate>Fri, 03 Jul 2020 03:46:50 -0400</lastBuildDate><item><title>Answer by khanh11166</title><link>https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact/4631</link><description>&lt;p&gt;Hi Christian,&lt;/p&gt;
&lt;p&gt;I checked your answer and see that the Expires header is always 1 week. 
Is there any Ivy document mention about this default configuration?&lt;/p&gt;
&lt;p&gt;Thank you!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">khanh11166</dc:creator><pubDate>Fri, 03 Jul 2020 03:46:50 -0400</pubDate><guid>https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact/4631</guid></item><item><title>Answer by Christian Strebel</title><link>https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact/4447</link><description>&lt;p&gt;Hi John&lt;/p&gt;
&lt;p&gt;The resources (js, css, images) are cached one week in the browser if running with the Axon.ivy Engine, Designer is different because JSF runs there in the Development mode. Some of the resources e.g. form webcontent have an additional url parameter "xv" which is changing if the file is modified on the server (eg. when deploying new hotfix). This means then they are reloaded by the browser because they have a new adress.&lt;/p&gt;
&lt;p&gt;I tried an 8.0.3 Axon.ivy Engine with the default Portal localy run with docker. There all resources (js, css, images) expire after a week. So if i visit it a second time all this resources come form the browser cache, see screenshot with the "Firefox Network Analysis" open:
&lt;img alt="Firefox-Networkanalysis" src="https://answers.axonivy.com/upfiles/Screenshot_20200309_092843.png"&gt;&lt;/p&gt;
&lt;p&gt;I also tried it with our internal demo server, which has a nginx in front of the Axon.ivy Engine, same picture, just that they are served now with http2:
&lt;img alt="nginx" src="https://answers.axonivy.com/upfiles/Screenshot_20200309_090841.png"&gt;&lt;/p&gt;
&lt;p&gt;To further improve the loading time it is may be worth to gzip the resources. But this then needs more CPU on the server. My advice is to enable this in the Front-end Server (e.g. nginx) and not in ivy, because the Front-end Server is normally optimized for this task.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Strebel</dc:creator><pubDate>Mon, 09 Mar 2020 05:01:59 -0400</pubDate><guid>https://answers.axonivy.com/questions/4328/resources-css-js-images-in-ivy-performance-impact/4447</guid></item></channel></rss>