A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web. Web user agents range from web browsers to search engine crawlers ("spiders"), as well as screen readers and braille browsers used by people with disabilities.
When Internet users visit a web site, a text string is generally sent to identify the user agent to the server. This forms part of the HTTP request, prefixed with User-agent: or User-Agent: and typically includes information such as the application name, version, host operating system, and language. 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.
Autonomous robots
Autonomous robots are robots which can perform desired tasks in unstructured environments without continuous human guidance. Many kinds of robots are autonomous to some degree. Different robots can be autonomous in different ways. A high degree of autonomy is particularly desirable in fields such as space exploration, where communication delays and interruptions are unavoidable.
One important area of robotics research is to enable the robot to cope with its environment whether this be on land, underwater, in the air, underground or in space.
A fully autonomous robot in the real world has the ability to:
- Gain information about the environment.Work for months or years without human intervention.Travel from point A to point B, without human navigation assistance.Avoid situations that are harmful to people, property or itselfRepair itself without outside assistance.
- A robot may also be able to learn autonomously. Autonomous learning includes the ability to:
- Learn or gain new capabilities without outside assistance.Adjust strategies based on the surroundings.Adapt to surroundings without outside assistance.
Internet bot
A bot is common parlance on the Internet for a software program that is a software agent. A Bot interacts with other network services intended for people as if it were a real person. One typical use of bots is to gather information. The term is derived from the word "robot", reflecting the autonomous character in the "virtual robot"-ness of the concept.
The most common bots are web agents that interface with web pages. Web crawlers or spiders are web robots that recursively gather web-page information, such as the bot used by Google ("GoogleBot"). They may also be used to interact dynamically with a site in a particular way, for example to exploit or locate arbitrage opportunities for financial gain.
Some bots communicate with other users of Internet based services, for example via instant messenger (IM) or Internet Relay Chat (IRC), or another web interface. These chatterbots may allow people to ask questions in plain English and then formulate a proper response. These bots can often handle many tasks including reporting weather, zip code information, sports scores, converting currency or other units, and much more. Others just want to entertain us or learn from us, like Jabberwacky.
An additional role of IRC-bots may be to lurk in the background of a conversation channel, commenting on certain phrases uttered by the participants (based on pattern matching). This is sometimes used as a help service for new users, or even for mild censorship (e.g., bad language).
There has been a great deal of controversy about the use of bots in an automated trading function. eBay has been to court in an attempt to suppress a third party company from using bots to traverse their site looking for bargains; this approach backfired on eBay and attracted the attentions of further bots. The UK based bet exchange Betfair saw such a large amount of traffic coming from bots they launched a WebService API aimed at bot programmers through which Betfair can actively manage the bot interactions.
The term bot is used frequently in videogames, referring to computer-controlled enemies in a multiplayer game that simulate the actions of a human player. These bots are used in training, before playing over the Internet, or simply to maximise the experience when there are not enough players in the game. In some multiplayer computer games (often MMORPGs and MUDs), a bot is software that automates simple in-game tasks. Most bots in this sense are configured to repeat an action continually in order to improve the player character's abilities. A related example in first-person shooter games is the aimbot.