¡¡¡¡A user agent is a client application implementing a network protocol used in communications within a client–server distributed computing system. The term most notably refers to applications that access the World Wide Web, but other systems, such as the Session Initiation Protocol (SIP), use the term user agent to refer to both end points of a communications session.
¡¡¡¡Any type of hardware or software application that can send a network protocol and access a web page is known as a User agent. User agents include web browsers, smart phones, web crawlers (also known as bots or search engine spiders), screen readers, or web editors.
¡¡¡¡Reasonable User agents are compliant with standards set forth by the World Wide Web Consortium (W3C), and they usually reveal their identity (such as the type of device used, the web browser, and the version that downloaded a given web page). Revealing the identity can avoid malicious user agent agendas. Some websites reject unidentified user agents, although this isn't always effective since spam bots can fake or impersonate a legitimate user agent, so simply rejecting unidentified user agents won’t protect your website from spam bots or web scrapers.
¡¡¡¡Web user agents range from Web browsers to search engine crawlers (spiders), as well as mobile phones, screen readers and braille browsers used by people with disabilities. When a user agent operates, it typically identifies itself, its application type, operating system, software vendor, or software revision, by submitting a characteristic identification string to its operating peer. In the HTTP and SIP protocols, this is transmitted in a header field User-Agent. Bots, such as Web crawlers, often also include a URL and/or e-mail address so that the Webmaster can contact the operator of the bot.
¡¡¡¡User agents can also show what type of computer or device is being used to view a web page, so that differently formatted content can display to an iPhone or to a personal computer. Detecting the identity of a user agent and then delivering custom content for that agent is known as user agent sniffing. Sometimes this type of information can be used to give preferred content or extra features to certain user agents. This type of "customized content delivery" is often discouraged, since it can seem to give preferential treatment to certain user agents.