Ignore:
Timestamp:
Sep 3, 2012, 2:29:18 PM (7 years ago)
Author:
fielding@…
Message:

(editorial) change of terms for content negotiation:

server-driven => proactive (UA sends Accept* fields)
agent-driven => reactive (UA waits for 300/Alternatives)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • draft-ietf-httpbis/latest/p2-semantics.xml

    r1857 r1858  
    2727  <!ENTITY auth                       "<xref target='Part7' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    2828  <!ENTITY content-negotiation        "<xref target='content.negotiation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    29   <!ENTITY agent-driven-negotiation   "<xref target='agent-driven.negotiation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     29  <!ENTITY reactive-negotiation       "<xref target='reactive.negotiation' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3030  <!ENTITY abnf-extension             "<xref target='Part1' x:rel='#abnf.extension' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
    3131  <!ENTITY whitespace                 "<xref target='Part1' x:rel='#whitespace' xmlns:x='http://purl.org/net/xml2rfc/ext'/>">
     
    703703<t>
    704704   This specification defines two patterns of content negotiation;
    705    "server-driven", where the server selects the representation based
    706    upon the client's stated preferences, and "agent-driven" negotiation,
     705   "proactive", where the server selects the representation based
     706   upon the client's stated preferences, and "reactive" negotiation,
    707707   where the server provides a list of representations for the client to
    708708   choose from, based upon their metadata. In addition,  there are
     
    717717   and practicality. In particular, when the number of preferences or
    718718   capabilities to be expressed by a client are large (such as when many
    719    different formats are supported by a user-agent), server-driven
     719   different formats are supported by a user-agent), proactive
    720720   negotiation becomes unwieldy, and might not be appropriate. Conversely,
    721721   when the number of representations to choose from is very large,
    722    agent-driven negotiation might not be appropriate.
     722   reactive negotiation might not be appropriate.
    723723</t>
    724724<t>
     
    728728</t>
    729729
    730 <section title="Server-driven Negotiation" anchor="server-driven.negotiation">
     730<section title="Proactive Negotiation" anchor="proactive.negotiation">
    731731<t>
    732732   If the selection of the best representation for a response is made by
    733    an algorithm located at the server, it is called server-driven
     733   an algorithm located at the server, it is called proactive
    734734   negotiation. Selection is based on the available representations of
    735735   the response (the dimensions over which it can vary; e.g., language,
     
    739739</t>
    740740<t>
    741    Server-driven negotiation is advantageous when the algorithm for
     741   Proactive negotiation is advantageous when the algorithm for
    742742   selecting from among the available representations is difficult to
    743743   describe to the user agent, or when the server desires to send its
     
    750750</t>
    751751<t>
    752    Server-driven negotiation has disadvantages:
     752   Proactive negotiation has disadvantages:
    753753  <list style="numbers">
    754754    <t>
     
    776776</t>
    777777<t>
    778    Server-driven negotiation allows the user agent to specify its preferences,
     778   Proactive negotiation allows the user agent to specify its preferences,
    779779   but it cannot expect responses to always honor them. For example, the origin
    780    server might not implement server-driven negotiation, or it might decide that
     780   server might not implement proactive negotiation, or it might decide that
    781781   sending a response that doesn't conform to them is better than sending a <x:ref>406
    782782   (Not Acceptable)</x:ref> response.
     
    784784<t>
    785785   HTTP/1.1 includes the following header fields for enabling
    786    server-driven negotiation through description of user agent
     786   proactive negotiation through description of user agent
    787787   capabilities and user preferences: <x:ref>Accept</x:ref>
    788788   (<xref target="header.accept"/>), <x:ref>Accept-Charset</x:ref>
     
    805805   The <x:ref>Vary</x:ref> header field (&header-vary;) can be used to express
    806806   the parameters the server uses to select a representation that is subject to
    807    server-driven negotiation.
    808 </t>
    809 </section>
    810 
    811 <section title="Agent-driven Negotiation" anchor="agent-driven.negotiation">
    812 <t>
    813    With agent-driven negotiation, selection of the best representation
     807   proactive negotiation.
     808</t>
     809</section>
     810
     811<section title="Reactive Negotiation" anchor="reactive.negotiation">
     812<t>
     813   With reactive negotiation, selection of the best representation
    814814   for a response is performed by the user agent after receiving an
    815815   initial response from the origin server. Selection is based on a list
     
    822822</t>
    823823<t>
    824    Agent-driven negotiation is advantageous when the response would vary
     824   Reactive negotiation is advantageous when the response would vary
    825825   over commonly-used dimensions (such as type, language, or encoding),
    826826   when the origin server is unable to determine a user agent's
     
    829829</t>
    830830<t>
    831    Agent-driven negotiation suffers from the disadvantage of needing a
     831   Reactive negotiation suffers from the disadvantage of needing a
    832832   second request to obtain the best alternate representation. This
    833833   second request is only efficient when caching is used. In addition,
     
    839839<t>
    840840   This specification defines the <x:ref>300 (Multiple Choices)</x:ref> and
    841    <x:ref>406 (Not Acceptable)</x:ref> status codes for enabling agent-driven
     841   <x:ref>406 (Not Acceptable)</x:ref> status codes for enabling reactive
    842842   negotiation when the server is unwilling or unable to provide a varying
    843    response using server-driven negotiation.
     843   response using proactive negotiation.
    844844</t>
    845845</section>
     
    17101710  <x:anchor-alias value="qvalue"/>
    17111711<t>
    1712    Many of the request header fields for server-driven content negotiation
     1712   Many of the request header fields for proactive content negotiation
    17131713   use a common parameter, named "q", to assign a relative "weight" to the
    17141714   preference for that associated kind of content.
     
    25932593        <t>
    25942594          Redirection offering a choice of matching resources for use by
    2595           agent-driven content negotiation (&agent-driven-negotiation;). This
     2595          reactive content negotiation (&reactive-negotiation;). This
    25962596          is status code <x:ref>300 (Multiple Choices)</x:ref>.
    25972597        </t>
     
    26522652<t>
    26532653   The target resource has more than one
    2654    representation, each with its own specific location, and agent-driven
     2654   representation, each with its own specific location, and reactive
    26552655   negotiation information (&content-negotiation;) is being provided so that
    26562656   the user (or user agent) can select a preferred representation by
Note: See TracChangeset for help on using the changeset viewer.