Skip to content

Commit

Permalink
[e] (0) Elaborate on what SMS push might be.
Browse files Browse the repository at this point in the history
Fixing http://www.w3.org/Bugs/Public/show_bug.cgi?id=8359

git-svn-id: http://svn.whatwg.org/webapps@4380 340c8d12-0b0e-0410-8428-c7bf67bfef74
  • Loading branch information
Hixie committed Nov 25, 2009
1 parent 0ab6d78 commit 92acce1
Show file tree
Hide file tree
Showing 2 changed files with 122 additions and 23 deletions.
78 changes: 63 additions & 15 deletions complete.html
Expand Up @@ -902,11 +902,12 @@ <h2 class="no-num no-toc" id=status>Status of this document</h2>
<li><a href=#parsing-an-event-stream><span class=secno>10.2.4 </span>Parsing an event stream</a></li>
<li><a href=#event-stream-interpretation><span class=secno>10.2.5 </span>Interpreting an event stream</a></li>
<li><a href=#notes><span class=secno>10.2.6 </span>Notes</a></li>
<li><a href=#garbage-collection-0><span class=secno>10.2.7 </span>Garbage collection</a></li>
<li><a href=#iana-considerations><span class=secno>10.2.8 </span>IANA considerations</a>
<li><a href=#connectionless-push-and-other-features><span class=secno>10.2.7 </span>Connectionless push and other features</a></li>
<li><a href=#garbage-collection-0><span class=secno>10.2.8 </span>Garbage collection</a></li>
<li><a href=#iana-considerations><span class=secno>10.2.9 </span>IANA considerations</a>
<ol>
<li><a href=#text/event-stream><span class=secno>10.2.8.1 </span><code>text/event-stream</code></a></li>
<li><a href=#last-event-id><span class=secno>10.2.8.2 </span><code>Last-Event-ID</code></a></ol></ol></li>
<li><a href=#text/event-stream><span class=secno>10.2.9.1 </span><code>text/event-stream</code></a></li>
<li><a href=#last-event-id><span class=secno>10.2.9.2 </span><code>Last-Event-ID</code></a></ol></ol></li>
<li><a href=#network><span class=secno>10.3 </span>Web sockets</a>
<ol>
<li><a href=#network-intro><span class=secno>10.3.1 </span>Introduction</a></li>
Expand Down Expand Up @@ -65055,17 +65056,64 @@ <h4 id=notes><span class=secno>10.2.6 </span>Notes</h4>
functionality on a per-page basis, or by sharing a single
<code><a href=#eventsource>EventSource</a></code> object using a <a href=#sharedworkerglobalscope title=SharedWorkerGlobalScope>shared worker</a>. <a href=#refsWEBWORKERS>[WEBWORKERS]</a></p>

<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>

<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.</p>
<h4 id=connectionless-push-and-other-features><span class=secno>10.2.7 </span>Connectionless push and other features</h4>

<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.</p>

<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>

<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 <a href=#other-applicable-specifications>other applicable
specifications</a> may be supported. This specification does not
define how they are to be parsed or processed.</p>


<h4 id=garbage-collection-0><span class=secno>10.2.7 </span>Garbage collection</h4>
<h4 id=garbage-collection-0><span class=secno>10.2.8 </span>Garbage collection</h4>

<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><a href=#event-message>message</a></code> events, there must be a strong
Expand All @@ -65077,9 +65125,9 @@ <h4 id=garbage-collection-0><span class=secno>10.2.7 </span>Garbage collection</
its connection is still open, the connection must be closed.</p>


<h4 id=iana-considerations><span class=secno>10.2.8 </span>IANA considerations</h4>
<h4 id=iana-considerations><span class=secno>10.2.9 </span>IANA considerations</h4>

<h5 id=text/event-stream><span class=secno>10.2.8.1 </span><dfn><code>text/event-stream</code></dfn></h5>
<h5 id=text/event-stream><span class=secno>10.2.9.1 </span><dfn><code>text/event-stream</code></dfn></h5>

<p>This registration is for community review and will be submitted
to the IESG for review, approval, and registration with IANA.</p>
Expand Down Expand Up @@ -65157,7 +65205,7 @@ <h5 id=text/event-stream><span class=secno>10.2.8.1 </span><dfn><code>text/event
<code><a href=#text/event-stream>text/event-stream</a></code> resources.</p>


<h5 id=last-event-id><span class=secno>10.2.8.2 </span><dfn title=http-last-event-id><code>Last-Event-ID</code></dfn></h5>
<h5 id=last-event-id><span class=secno>10.2.9.2 </span><dfn title=http-last-event-id><code>Last-Event-ID</code></dfn></h5>

<p>This section describes a header field for registration in the
Permanent Message Header Field Registry. <a href=#refsRFC3864>[RFC3864]</a></p>
Expand Down
67 changes: 59 additions & 8 deletions source
Expand Up @@ -74162,16 +74162,67 @@ data:&nbsp;test</pre>
title="SharedWorkerGlobalScope">shared worker</span>. <a
href="#refsWEBWORKERS">[WEBWORKERS]</a></p>

<hr>

<p>Other formats of event framing may also be supported in addition
to <code>text/event-stream</code>, but this specification does not
define how they are to be parsed or processed.</p>
<h4>Connectionless push and other features</h4>

<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.</p>

<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">EventSource</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>

<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.</p>
<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">EventSource</code> constructor (possibly
including a <code title="http-last-event-id">Last-Event-ID</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>

<p>As well as implementing the existing API and
<code>text/event-stream</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.</p>


<h4>Garbage collection</h4>
Expand Down

0 comments on commit 92acce1

Please sign in to comment.