RE: Issue 166: clarify term "User Agent" and resolve inconsistencies with W3C specs

I think there was originally a distinction between "User Agent" and "Client" but that there is now broad use of "User Agent" for Client in HTTP, to the extent that "User Agent" is often taken to mean "HTTP client". 

I'm not sure this broad misuse extends to other protocols.

Agent (in computing) is a generic term that generally refers to software that does work on behalf of a person or another agent.
In the IETF (since IETF focused on network protocols), an agent was software at one of the endpoints of communication.

A "client" is an agent that acts as the initiator of a protocol transaction in a client-server relationship. (The 'server' is an agent that runs autonomously, and the 'client' invokes those actions.)

A "user agent" then is an agent with a "user", and in particular, an "end user".

I don't think the misuse of 'user agent' to cover clients of other client-server protocols extends outside HTTP... does it?

Unfortunately, this use continues even in the latest HTTP documents.

What wikipedia says: 

	In computing, a user agent is a client application 
	implementing a network protocol used in communications 
	within a client-server distributed computing system.
	- http://en.wikipedia.org/wiki/User_agent


I think this is wrong.  In HTTP (currently) the term "user agent" was misused for "client" because in the early implementations of the web, the only clients were user agents, and by the time anyone imagined other clients than those that were user-agents, the "user-agent:" header was fixed and it made no sense to rename it.

Received on Thursday, 15 December 2011 22:48:24 UTC