Changeset 1858 for draft-ietf-httpbis/latest/p2-semantics.xml
- Timestamp:
- 03/09/12 21:29:18 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
draft-ietf-httpbis/latest/p2-semantics.xml
r1857 r1858 27 27 <!ENTITY auth "<xref target='Part7' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 28 28 <!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'/>"> 30 30 <!ENTITY abnf-extension "<xref target='Part1' x:rel='#abnf.extension' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> 31 31 <!ENTITY whitespace "<xref target='Part1' x:rel='#whitespace' xmlns:x='http://purl.org/net/xml2rfc/ext'/>"> … … 703 703 <t> 704 704 This specification defines two patterns of content negotiation; 705 " server-driven", where the server selects the representation based706 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, 707 707 where the server provides a list of representations for the client to 708 708 choose from, based upon their metadata. In addition, there are … … 717 717 and practicality. In particular, when the number of preferences or 718 718 capabilities to be expressed by a client are large (such as when many 719 different formats are supported by a user-agent), server-driven719 different formats are supported by a user-agent), proactive 720 720 negotiation becomes unwieldy, and might not be appropriate. Conversely, 721 721 when the number of representations to choose from is very large, 722 agent-drivennegotiation might not be appropriate.722 reactive negotiation might not be appropriate. 723 723 </t> 724 724 <t> … … 728 728 </t> 729 729 730 <section title=" Server-driven Negotiation" anchor="server-driven.negotiation">730 <section title="Proactive Negotiation" anchor="proactive.negotiation"> 731 731 <t> 732 732 If the selection of the best representation for a response is made by 733 an algorithm located at the server, it is called server-driven733 an algorithm located at the server, it is called proactive 734 734 negotiation. Selection is based on the available representations of 735 735 the response (the dimensions over which it can vary; e.g., language, … … 739 739 </t> 740 740 <t> 741 Server-drivennegotiation is advantageous when the algorithm for741 Proactive negotiation is advantageous when the algorithm for 742 742 selecting from among the available representations is difficult to 743 743 describe to the user agent, or when the server desires to send its … … 750 750 </t> 751 751 <t> 752 Server-drivennegotiation has disadvantages:752 Proactive negotiation has disadvantages: 753 753 <list style="numbers"> 754 754 <t> … … 776 776 </t> 777 777 <t> 778 Server-drivennegotiation allows the user agent to specify its preferences,778 Proactive negotiation allows the user agent to specify its preferences, 779 779 but it cannot expect responses to always honor them. For example, the origin 780 server might not implement server-drivennegotiation, or it might decide that780 server might not implement proactive negotiation, or it might decide that 781 781 sending a response that doesn't conform to them is better than sending a <x:ref>406 782 782 (Not Acceptable)</x:ref> response. … … 784 784 <t> 785 785 HTTP/1.1 includes the following header fields for enabling 786 server-drivennegotiation through description of user agent786 proactive negotiation through description of user agent 787 787 capabilities and user preferences: <x:ref>Accept</x:ref> 788 788 (<xref target="header.accept"/>), <x:ref>Accept-Charset</x:ref> … … 805 805 The <x:ref>Vary</x:ref> header field (&header-vary;) can be used to express 806 806 the parameters the server uses to select a representation that is subject to 807 server-drivennegotiation.808 </t> 809 </section> 810 811 <section title=" Agent-driven Negotiation" anchor="agent-driven.negotiation">812 <t> 813 With agent-drivennegotiation, selection of the best representation807 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 814 814 for a response is performed by the user agent after receiving an 815 815 initial response from the origin server. Selection is based on a list … … 822 822 </t> 823 823 <t> 824 Agent-drivennegotiation is advantageous when the response would vary824 Reactive negotiation is advantageous when the response would vary 825 825 over commonly-used dimensions (such as type, language, or encoding), 826 826 when the origin server is unable to determine a user agent's … … 829 829 </t> 830 830 <t> 831 Agent-drivennegotiation suffers from the disadvantage of needing a831 Reactive negotiation suffers from the disadvantage of needing a 832 832 second request to obtain the best alternate representation. This 833 833 second request is only efficient when caching is used. In addition, … … 839 839 <t> 840 840 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-driven841 <x:ref>406 (Not Acceptable)</x:ref> status codes for enabling reactive 842 842 negotiation when the server is unwilling or unable to provide a varying 843 response using server-drivennegotiation.843 response using proactive negotiation. 844 844 </t> 845 845 </section> … … 1710 1710 <x:anchor-alias value="qvalue"/> 1711 1711 <t> 1712 Many of the request header fields for server-drivencontent negotiation1712 Many of the request header fields for proactive content negotiation 1713 1713 use a common parameter, named "q", to assign a relative "weight" to the 1714 1714 preference for that associated kind of content. … … 2593 2593 <t> 2594 2594 Redirection offering a choice of matching resources for use by 2595 agent-driven content negotiation (&agent-driven-negotiation;). This2595 reactive content negotiation (&reactive-negotiation;). This 2596 2596 is status code <x:ref>300 (Multiple Choices)</x:ref>. 2597 2597 </t> … … 2652 2652 <t> 2653 2653 The target resource has more than one 2654 representation, each with its own specific location, and agent-driven2654 representation, each with its own specific location, and reactive 2655 2655 negotiation information (&content-negotiation;) is being provided so that 2656 2656 the user (or user agent) can select a preferred representation by
Note: See TracChangeset
for help on using the changeset viewer.