The following two points are particularly important:
The smaller the amount of data you send, the better.
properties.xmlwith the following:
<property as="xs:boolean" name="oxf.xforms.minimal-resources" value="true"/>
Serving many small files at a time is slower than serving a single large file.
HTTP pipelining improves very much on this, but it is (very unfortunately) useless in practice because Internet Explorer doesn't implement it at all and Firefox / Mozilla do implement it but do not enable it by default. Lobby your browser vendor to change that and the web will soon be faster!
This latter feature was introduced in Orbeon Forms last week. You enable it with the following property:
<property as="xs:boolean" name="oxf.xforms.combine-resources" value="true"/>
The Orbeon Forms XForms server has been enhanced with functionality to handle such URLs. When it receives a request, it determine what files need to be combined and outputs them all together. Furthermore, for CSS files, all URLs referred to with
url() are rewritten, so that links to images, in particular, remain correct.
Note that an experimental cache for compressed resources has also been written. You enable it with:
<property as="xs:boolean" name="oxf.xforms.cache-combined-resources" value="true"/>
This cache works differently from other Orbeon Forms caches, as the result is stored in the resources, typically under:
One benefit of this mechanism is that it allows making such combined files to be served by an Apache front-end.
So what are the results like? On certain pages using lots of widgets, you can save as many as 30 hits on your server with combined resources, and save several seconds of loading time! Needless to say, you may want to experiment with this feature and see what it can do for you.