Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wha is the meaning of this js.js?version=1364903356 in a webpage?

Every time i refresh a site and view its page source, the javascript src i.e js.js?version=1364903356; the version number always changes.

My question is: What is the meaning of this number; and if i put js.js in every page, the site is not working.

like image 439
Tridip Thrizu Avatar asked Apr 02 '13 12:04

Tridip Thrizu


4 Answers

The version is generally appended for caching purposes, or rather, for invalidating the cache (by changing the version number, and hence, the requested URL), so it's seen as a new resources and downloaded afresh.

like image 193
Grant Thomas Avatar answered Oct 21 '22 04:10

Grant Thomas


The number is probably meaningless. It is almost certainly just being appended to the URL so that the URL changes so the JS won't be fetched from the cache.

like image 29
Quentin Avatar answered Oct 21 '22 04:10

Quentin


it's just for to avoid Caching purposes and request new each time. whenever you visit a same content. if you set static content caching enabled in IIS, then Browser will issue HTTP 304 not modified status to the resource.

you can view in chrome. open developer tools (f12) then go for network tab. you will see in request header like this.

Request Method:GET
Status Code:304 Not Modified

IIS/Any web server wil determine whether the content is changed or the same content. if the content is the same as resides in the cache then it will not iniitate the new request.

by appendign the version number, filename/url/resource will be changed. so browser will issue a new GET request for the resources.

like image 35
Ravi Gadag Avatar answered Oct 21 '22 05:10

Ravi Gadag


This is a common technique used to prevent or manage caching of javascript and other files that the browser would normally cache.

If the version number always changes, then it means that the page in question is preventing your browser from caching the file at all; every request will load a new copy of the file regardless of whether it's changed or not.

This is poor practice, and likely due to a misconfiguration of the site in question.

More commonly, the version number would remain static, but could be triggered to change by the site itself. This would mean that for most requests the browser's caching would be in play, but that the site owner has control over whether to refresh the cache, for example when he updates the script file.

Without this technique, a browser that has already cached the old version of the file might not know that the file has been updated, and may not fetch the updated version. This could result in version conflicts between script files on the page.

There are, in fact, more technically correct ways of doing this that don't involve adding random values to the end of your URLs. The HTTP standard specifies that the browser should query the URL, and tell the site what version it has cached. The site can then respond with a "Not changed" message, and the browser can use the cached version. This ought to mean that the technique used in the question isn't necessary.

However, the technique is necessary in some cases because some browsers and/or web server configurations may not work correctly with the standard method, and the browser may still end up using the cached version incorrectly.

This technique can therefore be seen as a work-around for that.

like image 26
Spudley Avatar answered Oct 21 '22 06:10

Spudley