- From: David Morris <dwm@xpasc.com>
- Date: Thu, 15 Dec 2011 16:04:20 -0800 (PST)
- To: HTTP Working Group <ietf-http-wg@w3.org>
This is just so much arguing about the number of angels that can fit on the head of a pin. In the HTTP world, the terms "User Agent", "Agent" and "Client" are all munged together such that making a distinction requires making arguments which don't hold together. More below .... On Fri, 16 Dec 2011, Mark Nottingham wrote: > Larry, > > "user agent" and "client" are definitely distinct in the documents. Since the very early days, the distinction has never held up in my mind. > > A client is one party to client/server relationship, scoped by a > connection. Proxies are clients. Gateways are clients. And, User Agents > are clients. Using the assertion below that spiders are "User Agents", I assert that proxies and gateways are also user agents because they never take action without the action of a user at some point in time. > > A user agent is a special kind of client; it's the one that originated the client. All clients are user originated. > > Browsers are user agents. So are spiders, etc. > > I think you may be getting hung up on "user", always mapping that to a > live human in front of a keyboard at the time that the request is made. > This isn't necessarily the case -- sometimes the live human at the > keyboard does their keyboarding at some other time. I think the whole world is confused by this attempt to distinguish client vs. user agent. In the HTTP world, everything request is in response to a user action, including the hidden update and news feed actions by a browser. > This is true even when the UA *is* a browser; consider all of the > automatic updates and background checks that browsers tend to do these > days. > > As I think Julian has asked, it would be helpful if you could identify > *specific* parts of the documents where it's important to distinguish > between at-the-keyboard-now and at-the-keyboard-sometime. I don't know that there is a way to improves things short of wholesale replacement of user agent with client or vice versa. Or some new term. Essentially, there are synchronous clients and asynchronous clients. We generally tried very hard to not dictate how errors should be handled by the client software. Even synchronous clients (user@keyboard) may have active software (e.g., javascript, flash, java applets, etc.) which intercept error conditions and take actions on behalf of some user who may not be the user at the keyboard. The whole User Agent vs. Client distinction is not useful in helping folks understand the protocol and requirements for robust interoperation.
Received on Friday, 16 December 2011 00:04:52 UTC