User Agent

A user agent is a client program to a network service can be used. The user agent is the interface to the user, showing the contents of the service and accepts commands of the user. Examples of user agents are web browsers, email programs, news reader and IRC clients.

Many user agents transmit their names in header lines for inquiries (requests) to the server. The term " User Agent " is thus used as a synonym for this parameter in an HTTP header.

Web

Web browsers use to retrieve Web pages the HTTP protocol, standardized in RFC 2616th The standard provides a header named " User-Agent" to transfer the name and version of the browser to the Web server. The header is optional, but recommended, and is used by the vast majority of web browsers and other client software used (eg, web crawlers ). He is transmitted at each pageview.

As intended use of the header specifies the default:

  • Statistical surveys
  • Troubleshooting
  • Content delivery that is tailored to specific client software.

Structure of the HTTP User - Agent header

The User-Agent header in HTTP includes name, version, and comments to one or more components of the client. These each have the following structure:

The comment is optional, its contents are not normalized. Many browser programs bring in more or less human-readable information about the operating system, and even the hardware platform under, they run on. Other refrain entirely sure.

For example, the following header is derived from the text-mode browser Lynx:

Here names and versions of the browser itself, and multiple libraries are specified. Comments are missing. In contrast, the user-agent string of Opera 9.63 comes from:

Here you can read from the comment that the browser is running on an Apple Macintosh computer with an Intel processor, as well as some more information. The letter " U " indicates that the available in the browser cryptographic algorithms are not restricted by U.S. export bans, the part " s " indicates that the browser is in the English language version. In addition, the version number of the rendering engine Presto is specified.

Mozilla Standard

With the introduction of Netscape Navigator in 1994, this resulted in the User-Agent string the name "Mozilla ", this was the internal code name of the project. So the header looked like the following example:

This was before the standardization of HTTP, and thus the header format, so that then browsers will often deviate from the format of valid today. So supplies as Netscape Navigator 4.x application language after the version number in square brackets, for example:

In the first years after the introduction of Netscape Navigator advanced design options for sites in rapid succession with many new techniques. In particular, the version 2.0 in the spring of 1996 brought JavaScript ( under the name Live scripts ), Plug -ins, animated gif images and several new text Awards. Who would want to use these features to the design of its websites, was initially virtually reliant on its visitors Netscape Navigator used. Therefore, many sites installed a so called browser sniffer that reads the User - Agent header, and provides users with other browsers alternatively designed pages, or at least a meaningful error message. As other browsers over time newer, introduced by Netscape features also supported, the browser switches were often not updated; the user of these products would then not receive these contents, even though they could interpret them. For this reason, it was common that they spent in the User - Agent header as Mozilla version and called it the actual name and version of the software in the comments section. For example, is the user-agent header of the Microsoft Internet Explorer 2.0 (released in November 1995):

At this convention is to this day (as of 2013) largely retained. That is about the header of Apple Safari on iOS 5.0 on iPhone 4s, published in October 2011, as follows.

The importance of User - Agent header in the examination is declined, because now the browser versions are very numerous and are better opportunities for targeted testing of individual skills with the help of JavaScript available.

Most browsers allow the user also to change the User - Agent header, usually supplied, but more or less veiled developer tools.

Mobile devices

Unlike the PC web browsers, mobile devices provide additional information in the user agent, such as firmware version of the device, browser type and version, or support of Java ( J2ME). Later they went on to in the UAProf ( User Agent Profile ) to outsource additional information.

Examples:

Search Engine

The search engine crawlers appear from the perspective of the Web server as the browser. They usually use their own User-Agent header.

Examples:

Using a browser turnouts can be posted other information about the content of a web page in search engines ( cloaking ), for example, for more advertising revenue through banner advertising to increase the access number. Search engine providers disclaim usually from such practices. For example, Google Cloaking expressly designated as a violation of its webmaster guidelines and punishes the tender by removal from the index. It is assumed that the search engines can partially for review of such attempts to manipulate their crawler call of normal browsers and Web pages with the User-Agent headers.

E -mail and Usenet news

When using e -mail, the user agent is the software which downloads the messages from a mail server and displays to the user, and it allows you to compose new messages, which in turn transmits to a mail server. It can be an application program that runs locally on the user's computer, or a webmail service such as Gmail or GMX. The term mail user agent and, above all, the acronym MUA are in technical discussions entirely familiar, especially for local application programs. The same applies to the exchange of messages on Usenet, where the user is referred to generally as Agent newsreader.

When sending e- mails or messages on Usenet, the user agent constructs a message packet that is sent to the recipient or recipients. The format of these messages is standardized in RFC 5322 currently (as of 2013). The messages contain not only the actual text and technical information in header lines; the standard does not include headers for noting the user agent that sent the message.

It is accepted that for user agents to accommodate your own header as desired in the message that are not specified by the standard. Many programs use this to write their name and version. This then means that the message recipient can identify which software the sender sent the e -mail. Lack of standardization are different header names for this art. The 1999, purely informative ( non-normative ), RFC 2076, which gives an overview of the then current header identifies the following name for the specification of the client software and its version:

  • Version
  • Mailer
  • Originating Client
  • X-Mailer
  • X-Newsreader

In practice today include "X- Mailer ", " X-Newsreader " and " User-Agent" consistently, the latter perhaps in reference to the HTTP standard. The prefix "X- " to " experimental " header identify the significance of all this is inconsistent in practice. The content of the header is of course not normalized, and a unitary structure is not apparent. Even using the same header name "User-Agent " does not keep the programs at the building, which is provided in HTTP.

The content of this header can be used for surveys and for troubleshooting, the inconsistent use is likely to reduce the statistical value. A functional use would be theoretically possible ( for example, known formatting errors of a software could be corrected automatically when this software is identified by its header ) but is not known in practice.

Examples of e- mail programs:

Examples of news readers:

It can be seen that partial information is included on the operating system and hardware platform.

308413
de