Revision Summary Date Revision History Revision Class Comments 4/3/2007 0.01 New Version 0.01 release 7/3/2007 1.0 Major MLonghorn+90 7/20/2007 1.0.1 Editorial Changed language and formatting in the technical content. 8/10/2007 1.1 Minor Clarified the meaning of the technical content. 9/28/2007 1.1.1 Editorial Changed language and formatting in the technical content. 10/23/2007 1.1.2 Editorial Changed language and formatting in the technical content. 11/30/2007 1.1.3 Editorial Changed language and formatting in the technical content. 1/25/2008 1.1.4 Editorial Changed language and formatting in the technical content. 3/14/2008 1.2 Minor Clarified the meaning of the technical content. 5/16/2008 2.0 Major Updated and revised the technical content. 6/20/2008 3.0 Major Updated and revised the technical content. 7/25/2008 3.1 Minor Clarified the meaning of the technical content.
8/29/2008 3.2 Minor Clarified the meaning of the technical content. 10/24/2008 4.0 Major Updated and revised the technical content. 12/5/2008 4.1 Minor Clarified the meaning of the technical content. 1/16/2009 5.0 Major Updated and revised the technical content. 2/27/2009 6.0 Major Updated and revised the technical content. 4/10/2009 7.0 Major Updated and revised the technical content. 5/22/2009 8.0 Major Updated and revised the technical content. 7/2/2009 8.0.1 Editorial Changed language and formatting in the technical content. 8/14/2009 8.0.2 Editorial Changed language and formatting in the technical content. 9/25/2009 8.1 Minor Clarified the meaning of the technical content. 11/6/2009 8.1.1 Editorial Changed language and formatting in the technical content. 12/18/2009 8.1.2 Editorial Changed language and formatting in
the technical content. 1/29/2010 9.0 Major Updated and revised the technical content. 3/12/2010 10.0 Major Updated and revised the technical content. 4/23/2010 10.0.1 Editorial Changed language and formatting in the technical content. 6/4/2010 10.0.2 Editorial Changed language and formatting in the technical content. 7/16/2010 10.0.2 None No changes to the meaning, language, or formatting of the technical content. 8/27/2010 10.1 Minor Clarified the meaning of the technical content. 10/8/2010 11.0 Major Updated and revised the technical content. 11/19/2010 11.0 None No changes to the meaning, language, or formatting of the technical content. 1/7/2011 11.0 None No changes to the meaning, language, or formatting of the technical content. 2/11/2011 11.0 None No changes to the meaning, language, or formatting of the technical content.
3/25/2011 11.0 None No changes to the meaning, language, or formatting of the technical content. 5/6/2011 11.0 None No changes to the meaning, language, or formatting of the technical content. 6/17/2011 11.1 Minor Clarified the meaning of the technical content. 9/23/2011 11.1 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 12.0 Major Updated and revised the technical content. 3/30/2012 12.0 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 12.0 None No changes to the meaning, language, or formatting of the technical content. 10/25/2012 12.0 None No changes to the meaning, language, or formatting of the technical content. 1/31/2013 12.0 None No changes to the meaning, language, or formatting of the technical content. 8/8/2013 13.0 Major Updated and revised the
technical content. 11/14/2013 13.0 None No changes to the meaning, language, or formatting of the technical content. 2/13/2014 13.0 None No changes to the meaning, language, or formatting of the technical content. 5/15/2014 13.0 None No changes to the meaning, language, or formatting of the technical content. 6/30/2015 14.0 Major Significantly changed the technical content. 10/16/2015 14.0 None No changes to the meaning, language, or formatting of the technical content. 7/14/2016 14.0 None No changes to the meaning, language, or formatting of the technical content. 6/1/2017 14.0 None No changes to the meaning, language, or formatting of the technical content. 9/15/2017 15.0 Major Significantly changed the technical content.
Protocol Details Client Details Abstract Data This section describes a conceptual of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document. Length-Remaining: An unsigned numerical that stores the number of bytes that the client has to transmit until it has transmitted the entire message body in the . The initial value of this variable is 0. Push-ID: A string variable that stores the value of the HTTP cookie. The initial value of this variable is "0". UsingProxy: A flag that is set to 1 if the client is connecting to the server through a server. The initial value of this variable is 0. InitialRequest: A flag that is set to 1 if the client has already connected to the server. The initial value of this variable is 0. Timers Client implementations MAY implement an additional timer at their discretion to recover from the situation that an HTTP response from the server does not arrive in a timely manner. The expiration time of such a timer is implementation-specific.<1> Initialization Initialization of the protocol occurs when the higher layer configures the server to receive . This event is specified in section . The variables specified by the abstract data model MUST initially assume their default values, if any. Higher-Layer Triggered Events Request to Configure the Server When the higher needs to configure the server to receive , it MUST cause the client to send a to the server as detailed in the remainder of this section. The higher MUST provide the URL that will be specified in all requests sent by the client. The URL specifies a "publishing point" on the server, which is the destination of the ASF data packets that the client intends to to the server. If the value is 0, then this is the first request that is sent by the client, the client MUST perform the initialization of the protocol as specified in section , and set the InitialRequest value to 1. The client MUST then establish a TCP connection to the server, using the IP address and port number obtained by parsing the URL as specified in section 3.2.2. Use of HTTP proxy servers is permitted, in which case the TCP connection is made to the proxy server specified by the higher layer instead of to
Index $ $C (Stream Change Notification) ( 18, 32) $D (Data) ( 18, 31) $E (End-of-Stream Notification) ( 18, 32) $F (Filler) ( 19, 32) $H (Header) ( 19, 31) A Abstract data model 20 27 28 8 11 11 24 23 15 C 8 51 Client 20 20 20 27 25 25 26 20 20 10 11 D Data model - abstract 20 27 Disconnect TCP connection ( 27, 33) E Examples 34 37 46 F 9 17 G 34 6 H Higher-layer triggered events 20 28 10 10 I 33 48 33 48 7 Initialization 20 27 6 L 23 Local events 27 33 M Message processing 25 28 Messages 10 17 13 10 10 N 12 6 Notification 23 24 O 7 7 P 17 17 48 11 8