This content has been marked as final. Show 5 replies
The detailed version number prevents browsers from caching these files. An upcoming (minor) release might need to alter some of the file content and will therefore just increment the file's subrelease number. If it wasn't that detailed, you'd have to tell your users to "please empty your browser cache".
By the way, version numbers in stylesheet files don't bother hackers much because, well,
a) even if it's an extremely pretty stylesheet, it's still only a stylesheet and
b) you could read it anyway :-)
A merry christmas to all of you, seems we have almost made it through december 21st today.
>> The detailed version number prevents browsers from caching these files …
Your intension is correct, but your phrasing is a bit off. These files will be cached by the browser, and the cache will be used as long as the URL remains the same. So, no impact on performance due to the use of this parameter. Only after future changes in the URL – by changing the detailed version number – the browser will clear the current file cache, reread the new file, and caches the new version.
♦ Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
♦ Author of Oracle Application Express 3.2 – The Essentials and More
Thank you for answers. As I did try explain with my very bad English, I know why there is that "parameter"/"value" end of e.g. CSS file URL.
And I'm not worry that someone reads my APEX css files source.
Why that value is version number? Everybody knows your APEX version when view page source.
Lets say there is bug in session state protection e.g. APEX version xxxxx.
"Hacker" knowing version number and possible security bugs, might attack your application.
My Blog: http://dbswh.webhop.net/htmldb/f?p=BLOG:HOME:0
for a hacker it's no problem to identify which APEX version you are using. He just has to generate the hash value for one of our external files which are changed in each release (like desktop_all.min.js). After he does have a hash for each APEX version he just has to request that file from your system and generating a comparison hash. So trying to hide a version number is just security by obfuscation which isn't really secure.
As already outlined by others, the included version number as parameter allows to greatly improve the performance of your app, because it allows to add a cache expiry header for those files with a expiry date = never. And you will still get the new file as soon as a patch set / release is installed on your system without having to tell your users to clear caches (which we often had the problem in the past on apex.oracle.com).
My Blog: http://www.inside-oracle-apex.com
APEX Plug-Ins: http://apex.oracle.com/plugins