Browser sniffing

Source: Wikipedia, the free encyclopedia.

Browser sniffing (also known as browser detection) is a set of techniques used in

SVG and XMLHttpRequest, varies as well. As a result, different browsers display the same page differently, and so browser sniffing was developed to detect the web browser in order to help ensure consistent display of content.[1]

Sniffer methods

Client-side sniffing

Web pages can use programming languages such as JavaScript which are interpreted by the user agent, with results sent to the web server. For example:

var isIEBrowser = false;
if (window.ActiveXObject) {
    isIEBrowser = true;
}

// Or, shorter:
var isIE = (window.ActiveXObject !== undefined);

This code is run by the client computer, and the results are used by other code to make necessary adjustments on client-side. In this example, the client computer is asked to determine whether the browser can use a feature called ActiveX. Since this feature was proprietary to Microsoft, a positive result will indicate that the client may be running Microsoft's Internet Explorer. This is no longer a reliable indicator since Microsoft's open-source release of the ActiveX code, however, meaning that it can be used by any browser.

Standard Browser detection method

The web server communicates with the client using a

communication protocol known as HTTP, or Hypertext Transfer Protocol, which specifies that the client send the server information about the browser being used to view the website in a User-Agent header
.

Server-side sniffing

Extensive browser techniques enable persistent user tracking even if users try to stay anonymous. See device fingerprint for more details on browser fingerprinting.

Issues and standards

Many websites use browser sniffing to determine whether a visitor's browser is unable to use certain features (such as

fail gracefully
" when presented to a browser which cannot deal with a particular standard.

See also

References

  1. ^ Meiert, Jens (14 July 2021). The Web Development Glossary. Frontend Dogma.
  2. ^ "Browser detection using the user agent". mdn web docs. Retrieved 23 August 2022.