- From: Ian Hickson via cvs-syncmail <cvsmail@w3.org>
- Date: Wed, 25 Nov 2009 10:55:49 +0000
- To: public-html-commits@w3.org
Update of /sources/public/html5/eventsource
In directory hutz:/tmp/cvs-serv19263
Modified Files:
Overview.html
Log Message:
Elaborate on what SMS push might be. (whatwg r4380)
Index: Overview.html
===================================================================
RCS file: /sources/public/html5/eventsource/Overview.html,v
retrieving revision 1.92
retrieving revision 1.93
diff -u -d -r1.92 -r1.93
--- Overview.html 25 Nov 2009 10:27:48 -0000 1.92
+++ Overview.html 25 Nov 2009 10:55:47 -0000 1.93
@@ -252,11 +252,12 @@
<li><a href="#parsing-an-event-stream"><span class="secno">6 </span>Parsing an event stream</a></li>
<li><a href="#event-stream-interpretation"><span class="secno">7 </span>Interpreting an event stream</a></li>
<li><a href="#notes"><span class="secno">8 </span>Notes</a></li>
- <li><a href="#garbage-collection"><span class="secno">9 </span>Garbage collection</a></li>
- <li><a href="#iana-considerations"><span class="secno">10 </span>IANA considerations</a>
+ <li><a href="#connectionless-push-and-other-features"><span class="secno">9 </span>Connectionless push and other features</a></li>
+ <li><a href="#garbage-collection"><span class="secno">10 </span>Garbage collection</a></li>
+ <li><a href="#iana-considerations"><span class="secno">11 </span>IANA considerations</a>
<ol>
- <li><a href="#text-event-stream"><span class="secno">10.1 </span><code>text/event-stream</code></a></li>
- <li><a href="#last-event-id"><span class="secno">10.2 </span><code>Last-Event-ID</code></a></ol></li>
+ <li><a href="#text-event-stream"><span class="secno">11.1 </span><code>text/event-stream</code></a></li>
+ <li><a href="#last-event-id"><span class="secno">11.2 </span><code>Last-Event-ID</code></a></ol></li>
<li><a class="no-num" href="#references">References</a></ol>
<!--end-toc--><hr><h2 id="server-sent-events-intro"><span class="secno">1 </span>Introduction</h2><p><i>This section is non-normative.</i><p>To enable servers to push data to Web pages over HTTP or using
dedicated server-push protocols, this specification introduces the
@@ -775,17 +776,57 @@
mechanism of using unique domain names per connection, or by
allowing the user to enable or disable the <code><a href="#eventsource">EventSource</a></code>
functionality on a per-page basis, or by sharing a single
- <code><a href="#eventsource">EventSource</a></code> object using a <span title="SharedWorkerGlobalScope">shared worker</span>. <a href="#refsWEBWORKERS">[WEBWORKERS]</a><hr><p>Other formats of event framing may also be supported in addition
- to <code><a href="#text-event-stream">text/event-stream</a></code>, but this specification does not
- define how they are to be parsed or processed.<p class="note">Such formats could include systems like SMS-push;
- for example servers could use <code title="">Accept</code> headers
- and HTTP redirects to an SMS-push mechanism as a kind of protocol
- negotiation to reduce network load in GSM environments.<h2 id="garbage-collection"><span class="secno">9 </span>Garbage collection</h2><p>While an <code><a href="#eventsource">EventSource</a></code> object's <code title="dom-EventSource-readyState"><a href="#dom-eventsource-readystate">readyState</a></code> is not <code title="dom-EventSource-CLOSED"><a href="#dom-eventsource-closed">CLOSED</a></code>, and the object has one
+ <code><a href="#eventsource">EventSource</a></code> object using a <span title="SharedWorkerGlobalScope">shared worker</span>. <a href="#refsWEBWORKERS">[WEBWORKERS]</a><h2 id="connectionless-push-and-other-features"><span class="secno">9 </span>Connectionless push and other features</h2><p>User agents running in controlled environments, e.g. browsers on
+ mobile handsets tied to specific carriers, may offload the
+ management of the connection to a proxy on the network. In such a
+ situation, the user agent for the purposes of conformance is
+ considered to include both the handset software and the network
+ proxy.<div class="example">
+
+ <p>For example, a browser on a mobile device, after having
+ established a connection, might detect that it is on a supporting
+ network and request that a proxy server on the network take over
+ the management of the connection. The timeline for such a situation
+ might be as follows:</p>
+
+ <ol><li>Browser connects to a remote HTTP server and requests the
+ resource specified by the author in the <code title="dom-EventSource"><a href="#dom-eventsource">EventSource</a></code> constructor.</li>
+
+ <li>The server sends occasional messages.</li>
+
+ <li>In between two messages, the browser detects that it is idle
+ except for the network activity involved in keeping the TCP
+ connection alive, and decides to switch to sleep mode to save power.</li>
+
+ <li>The browser disconnects from the server.</li>
+
+ <li>The browser contacts a service on the network, and requests
+ that that service, a "push proxy", maintain the connection instead.</li>
+
+ <li>The "push proxy" service contacts the remote HTTP server and
+ requests the resource specified by the author in the <code title="dom-EventSource"><a href="#dom-eventsource">EventSource</a></code> constructor (possibly
+ including a <code title="http-last-event-id"><a href="#last-event-id">Last-Event-ID</a></code>
+ HTTP header, etc).</li>
+
+ <li>The browser allows the mobile device to go to sleep.</li>
+
+ <li>The server sends another message.</li>
+
+ <li>The "push proxy" service uses a technology such as OMA push to
+ convey the event to the mobile device, which wakes only only
+ enough to process the event and then returns to sleep.</li>
+
+ </ol></div><p>This can result in considerable power savings.<p>As well as implementing the existing API and
+ <code><a href="#text-event-stream">text/event-stream</a></code> wire format as defined by this
+ specification and in more distributed ways as described above,
+ formats of event framing defined by <span>other applicable
+ specifications</span> may be supported. This specification does not
+ define how they are to be parsed or processed.<h2 id="garbage-collection"><span class="secno">10 </span>Garbage collection</h2><p>While an <code><a href="#eventsource">EventSource</a></code> object's <code title="dom-EventSource-readyState"><a href="#dom-eventsource-readystate">readyState</a></code> is not <code title="dom-EventSource-CLOSED"><a href="#dom-eventsource-closed">CLOSED</a></code>, and the object has one
or more event listeners registered for <code title="event-message">message</code> events, there must be a strong
reference from the <code>Window</code> or <code>WorkerUtils</code>
object that the <code><a href="#eventsource">EventSource</a></code> object's constructor was
invoked from to the <code><a href="#eventsource">EventSource</a></code> object itself.<p>If an <code><a href="#eventsource">EventSource</a></code> object is garbage collected while
- its connection is still open, the connection must be closed.<h2 id="iana-considerations"><span class="secno">10 </span>IANA considerations</h2><h3 id="text-event-stream"><span class="secno">10.1 </span><dfn><code>text/event-stream</code></dfn></h3><p>This registration is for community review and will be submitted
+ its connection is still open, the connection must be closed.<h2 id="iana-considerations"><span class="secno">11 </span>IANA considerations</h2><h3 id="text-event-stream"><span class="secno">11.1 </span><dfn><code>text/event-stream</code></dfn></h3><p>This registration is for community review and will be submitted
to the IESG for review, approval, and registration with IANA.</p><!--
To: ietf-types@iana.org
Subject: Registration of media type text/event-stream
@@ -854,7 +895,7 @@
<dt>Change controller:</dt>
<dd>W3C</dd>
</dl><p>Fragment identifiers have no meaning with
- <code><a href="#text-event-stream">text/event-stream</a></code> resources.<h3 id="last-event-id"><span class="secno">10.2 </span><dfn title="http-last-event-id"><code>Last-Event-ID</code></dfn></h3><p>This section describes a header field for registration in the
+ <code><a href="#text-event-stream">text/event-stream</a></code> resources.<h3 id="last-event-id"><span class="secno">11.2 </span><dfn title="http-last-event-id"><code>Last-Event-ID</code></dfn></h3><p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href="#refsRFC3864">[RFC3864]</a><dl><dt>Header field name</dt>
<dd>Last-Event-ID</dd>
<dt>Applicable protocol</dt>
Received on Wednesday, 25 November 2009 10:55:58 UTC