SSEで使われるContentTypeがtext/event-streamというものになっているらしいのですがこういうプロトコルじゃなくて、より高レベルな部分のプロトコルっていう感じですかね?
この API の利用法は、 EventSource オブジェクトを作成して,イベントリスナを登録するだけである。
var source = new EventSource('updates.cgi');
source.onmessage = function (event) {
alert(event.data);
};
サーバ側のスクリプト(この事例では "updates.cgi" )は、 MIME 型に text/event-stream を伴うメッセージを,次の形で送信する:
data: 第一メッセージ
data: 第二メッセージ
data: このメッセージは 2 行からなる
data: 第三メッセージ
作者は、異なるイベント型を利用することにより,各イベントを分類できる。 ここに 2 種のイベント型, "add", "remove" が含まれたストリームがあるとする:
event: add
data: 73857293
event: remove
data: 2153
event: add
data: 113411
そのようなストリームを取り扱うスクリプトは、次の様になるであろう( addHandler, removeHandler は、 1 個のイベント引数をとる関数とする):
var source = new EventSource('updates.cgi');
source.addEventListener('add', addHandler, false);
source.addEventListener('remove', removeHandler, false);
dataの中身は任意のテキストらしいのでJSON.parseとかを挟んでなんでも送れるんじゃないかなーと思います