The usage share of web browsers is the portion, often expressed as a percentage, of visitors to a group of web sites that use a particular web browser. Measuring browser usage in the number of requests (page hits) made by each user agent can be misleading. Not all requests are generated by a user, as a user agent can make requests at regular time intervals without user input. In this case, the user's activity might be overestimated. Certain anti-virus products fake their user agent string to appear to be popular browsers. This is done to trick attack sites that might display clean content to the scanner, but not to the browser. A user who revisits a site shortly after changing or upgrading browsers may be double-counted under some methods; overall numbers at the time of a new version's release may be skewed. Occasionally websites are written in such a way that they effectively block certain browsers.
One common reason for this is that the website has been tested to work with only a limited number of browsers, and so the site owners enforce that only tested browsers are allowed to view the content, while all other browsers are sent a "failure" message, and instruction to use another browser. Many of the untested browsers may still be otherwise capable of rendering the content. Sophisticated users who are aware of this may then "spoof" the user agent string in order to gain access to the site. Firefox, Chrome, Safari, and Opera will, under some circumstances, fetch resources before they need to render them, so that the resources can be used faster if they are needed. This technique, prerendering or pre-loading, may inflate the statistics for the browsers using it because of pre-loading of resources which are not used in the end. Firefox 1.5 (and other Gecko-based browsers) and later versions use fast Document Object Model (DOM) caching.
JavaScript is executed on page load only from net or disk cache, but not if it is loaded from DOM cache. This can affect JavaScript-based tracking of browser statistics. While most browsers generate additional page hits by refreshing web pages when the user navigates back through page history, some browsers (such as Opera) reuse cached content without resending requests to the server. Generally, the more faithfully a browser implements HTTP's cache specifications, the more it will be under-reported relative to browsers that implement those specifications poorly. Browser users may run site, cookie and JavaScript blockers which cause those users to be under-counted. For example, common AdBlock blocklists such as EasyBlock include sites such as StatCounter in their privacy lists, and NoScript blocks all JavaScript by default. The Firefox Add-ons website reports 15.0 million users of AdBlock variants and 2.2 million users of NoScript. Users behind a caching proxy (e.g. Squid) may have repeat requests for certain pages served to the browser from the cache, rather than retrieving it again via the Internet.
Websites often include code to detect the browser version to adjust the page design sent according to the user agent string received. This may mean that less popular browsers are not sent complex content (even though they might be able to deal with it correctly) or, in extreme cases, refused all content. Thus, various browsers have a feature to cloak or spoof their identification to force certain server-side content. Default user agent strings of most browsers have pieces of strings from one or more other browsers, so that if the browser is unknown to a website, it can be identified as one of those. For example, Safari has not only "Mozilla/5.0", but also "KHTML" (from which Safari's WebKit was forked) and "Gecko" (the engine of Firefox). Some Linux browsers such as GNOME Web identify themselves as Safari in order to aid compatibility. Net Applications, in their NetMarketShare report, uses unique visitors to measure web usage.
|