• ベストアンサー

”HTCPCP”のことで伺います。

或る冗談プロトコルのページ(http://ja.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol)を閲覧していました際に、下記の通りの記述が気になりました。 HTTPをベースとしたプロトコルであるため、「コーヒーポット側からクライアントに『コーヒーが入った』等の通知を送ることができない」などの問題を抱えており… そこで伺います。 「『通知を送ることができない』という表現は、『サーバからではなくクライアント側が受信完了を通知している』という内容を意味しているのでしょうか?」

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

HTCPCPはHTTPベースなわけですが、HTTPでは クライアントからサーバーに接続する→クライアントがサーバーにリクエストを送る→サーバーがクライアントに、コーヒーポットの状況などの情報を返す→クライアントとサーバー間の接続を切る というデータの流れになっています。 クライアントにとって情報が必要になるたびに、この接続~切断の流れを毎回行います。 普段はコネクションが確立していない状態になっているわけですから 「コーヒーが入った」など、サーバーからクライアントに何らかの情報を「通知」したい状況が発生したとしても、その情報をサーバからクライアントに通知する手段がありません。 その後でクライアントからサーバーへの接続が発生して初めて、その状況をクライアントに伝えることができるのです。 なお、「サーバーからクライアントに通知を送れない」というのは、HTCPCPではなく、元のHTTPの設計思想による「仕様」なわけですが、チャットなどのリアルタイムな通知が欲しい状況が増えているため、最近は「Comet」や「WebSockets」と呼ばれる解決手段が出てきています。 これは一言で言えば「毎回接続を切るからサーバから通知できない。それなら、接続を切らずにコネクションを張りっぱなしにしておけばいい」という手法です。 http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_03/safetomcat_03_1.html http://www.atmarkit.co.jp/news/200912/11/wsock.html

littlekids
質問者

お礼

他のページ(http://okwave.jp/qa/q6791822.html)の内容への御教授をも賜れませんでしょうか?

littlekids
質問者

補足

有り難う御座います。 入門者向けの御配慮に感謝を致します。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

えぇと.... 何を質問されているのでしょうか.... 「サーバからではなくクライアント側が受信完了を通知している」の部分の意味がまったく分からない. 「...『通知を送ることができない』」というのは, そのままの意味だと思いますよ. 「サーバからクライアントに送ることができない」というだけでしょう.

littlekids
質問者

補足

すいません。 質問の致し方にも迷った儘の状態で文章を作成しました。

関連するQ&A