* WGs marked with an * asterisk has had at least one new draft made available during the last 5 days

Ticket #166 (closed editorial: incorporated)

Opened 6 years ago

Last modified 3 years ago

Clarify "User Agent"

Reported by: julian.reschke@gmx.de Owned by: julian.reschke@gmx.de
Priority: later Milestone: 18
Component: p1-messaging Severity: Active WG Document
Keywords: Cc:
Origin:

Description

Reported by Larry Masinter:

The HTTP document uses two terms "user agent" and "client", and in some cases it is careful to distinguish between them, but not always. I would like to see a careful review of each appearance of the terms to insure that "user agent" is used in situations where there is a user, and "client" used in cases where the initiator of the action is either a user agent or another agent with no explicit user.

I think this will help the document, and the task relatively limited and editorial.

Some instances may require discussion.

Attachments

166.diff (1.2 KB) - added by julian.reschke@gmx.de 3 years ago.
Proposed patch

Change History

comment:1 Changed 4 years ago by julian.reschke@gmx.de

  • Priority set to normal

The specification already uses "client" for something else; see <http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p1-messaging-10.html#rfc.section.2.1>:

'Note that the terms "client" and "server" refer only to the roles that these programs perform for a particular connection. The same program may act as a client on some connections and a server on others. We use the term "user agent" to refer to the program that initiates a request, such as a WWW browser, editor, or spider (web-traversing robot), and the term "origin server" to refer to the program that can originate authoritative responses to a request.'

So if we want to distinguish different types of user agents (do we?), we may need a different term.

comment:2 Changed 4 years ago by julian.reschke@gmx.de

  • Summary changed from Clarify "User Agent", to Clarify "User Agent"

comment:3 Changed 3 years ago by mnot@pobox.com

  • Priority changed from normal to later

Setting to do later, once the rest of the text is stable.

comment:4 Changed 3 years ago by julian.reschke@gmx.de

Do we intend to make a change?

Otherwise we should go back to Larry and confirm that he's ok to leave the definition of "User Agent" the way it is.

comment:5 follow-up: ↓ 6 Changed 3 years ago by masinter@adobe.com

< ... We < use the term "user agent" to refer to the program that initiates a < request, such as a WWW browser, editor, or spider (web-traversing < robot), and the term "origin server" to refer to the program that can < originate authoritative responses to a request.

It is important at times (for requesting security dialogs, privacy requirements, etc., to distinguish those cases where the request came on behalf of a "user", e.g., with the possibility of presenting a "user interface". The term was broadened in use because the header "user-agent" was used for both; the loss of precision is regrettable. The current wording still blurs user-agent with other kinds of clients, unfortunately.

comment:6 in reply to: ↑ 5 Changed 3 years ago by julian.reschke@gmx.de

Replying to masinter@…:

It is important at times (for requesting security dialogs, privacy requirements, etc., to distinguish those cases where the request came on behalf of a "user", e.g., with the possibility of presenting a "user interface". The term was broadened in use because the header "user-agent" was used for both; the loss of precision is regrettable. The current wording still blurs user-agent with other kinds of clients, unfortunately.

(a) Can you point out a specific part of the spec where the distinction matters? (the redirect language about getting confirmation comes to mind but has its own ticket)

(b) If it does matter in other places, how about talking about interactive and non-interactive UAs?

comment:7 Changed 3 years ago by julian.reschke@gmx.de

  • Owner set to julian.reschke@gmx.de
  • Milestone changed from unassigned to 18

comment:8 Changed 3 years ago by julian.reschke@gmx.de

  • Component changed from non-specific to p1-messaging

Changed 3 years ago by julian.reschke@gmx.de

Proposed patch

comment:9 Changed 3 years ago by julian.reschke@gmx.de

From [1488]:

clarify user agent (see #166)

comment:10 Changed 3 years ago by julian.reschke@gmx.de

  • Status changed from new to closed
  • Resolution set to incorporated

comment:11 Changed 3 years ago by masinter@adobe.com

The definition of "User Agent" vs "user-agent" is still an issue somewhere, not sure if it is an HTTP spec issue, but...

This issue continued to be discussed in public and in private email exchanges.

Some more notes on "user agent" in HTTP and in W3C specs:

http://lists.w3.org/Archives/Public/ietf-http-wg/2011OctDec/0522.html

and other messages with same subject line,

Also http://en.wikipedia.org/wiki/User_agent (and history, I edited the definition when Mark quoted the old one to me).

In HTML spec (http://dev.w3.org/html5/spec/Overview.html) the term "user agent" occurs 1621 times.

e.g., in the Abstract: " special attention has been given to defining clear conformance criteria for user agents in an effort to improve interoperability" I think they mean "browser" or "HTML consumer" and not "user agent".

"HTML user agents (e.g. Web browsers) then parse this markup, turning it into a DOM (Document Object Model) tree. A DOM tree is an in-memory representation of a document." Do *all* User Agents need to create a DOM?

The W3C "User Agent Accessibility Guidelines" uses "User Agent" in a very different sense. [UAAG], e.g., "User agents include browsers and other types of software that retrieve and render Web content. A user agent that conforms to these guidelines will promote accessibility through its own user interface and through other internal facilities, including its ability to communicate with other technologies (especially assistive technologies). Furthermore, all users, not just users with disabilities, should find conforming user agents to be more usable."

" ... The specification uses the term supported when referring to whether a user agent has an implementation capable of decoding the semantics of an external resource. A format or type is said to be supported if the implementation can process an external resource of that format or type without critical aspects of the resource being ignored. Whether a specific resource is supported can depend on what features of the resource's format are in use."

"... a user agent can also designate built-in content handlers as plugins."

"all documents are assumed to have had an author. (In some cases, that author may itself be a user agent — such user agents are subject to additional rules, as explained below"

User agents fall into several (overlapping) categories with different conformance requirements.

  • Web browsers and other interactive user agents
  • Non-interactive presentation user agents
  • Visual user agents that support the suggested default rendering
  • User agents with no scripting support

Conformance checkers are not "user agents", though. Even though they might be an "origin client" in the sense that HTTP uses the "user-agent" term.

Note: See TracTickets for help on using tickets.