クライアント - サーバー Web サービスを開発しています。フロント エンドは でビルドされhtml/javascript/jquery/jqm
、バック エンドは でビルドされますphp/mysql
。
クライアントが起動するstatic id
と、 (変更されない) とdynamic-token
(変更される場合とされない場合があることを意味します) があります。このため、クライアントが起動するたびに、クライアントをサーバーに登録し、サーバーにPOST
リクエストを送信します。本文には、id and token
. post リクエストは、次のような php スクリプトに対して行われmyserver.com/register.php
ますid and token
: id
存在しない場合はcreates
、新しいレコードです。存在する場合は、token
変更されているかどうかをチェックしupdates
ます。
クライアントから、ユーザーは多数のイベント (10 としましょう) をサブスクライブできます。イベントは、チェックボックス付きのリストに表示されます。ユーザーは、購読したいイベントをチェックし、購読ボタンを押します。サブスクライブボタンがヒットするPOST
と、本体にユーザーのjsonファイルとid
ブール値を持つイベントのすべての名前(サブスクライブまたはサブスクライブしない)を持つphpスクリプトにリクエストが行われます。
id: xxxxxx
event1: 1
event2: 0
event3: 0
event4: 1
...
PHP スクリプトは次のようになりますmyServer/subscribe.php
。リクエストが到着すると、php ファイルは受信した JSON を読み取ります。彼はid
データベースで を検索し、送信されたイベントの名前とブール値をチェックします。1 の場合、彼はユーザーをサブスクライブします。が 0 の場合、ユーザーの登録を解除します。ユーザーが既にサブスクライブしていて、再度サブスクライブした場合、何も起こりません。退会も同様。
最後に、ユーザーがサブスクリプション ページに入るPOST
と、サーバーに対して要求が行われ、本文にユーザーの を持つ JSON ファイルが含まれid
ます。リクエストは、.php のような php ファイルに対して行われますmyServer/whereSubsribed.php
。この php ファイルは、 を取得し、id
これが登録されているイベントのデータベースを調べますid
。終了すると、ユーザーが既にサブスクライブしているすべてのイベントを含むファイルでクライアントに応答 (エコーを作成) するjson
ため、チェックボックスが読み込まれると、ユーザーが既にサブスクライブしているイベントがチェックされているように見えます。
上記のサービスはRestですか?何が休息で何が休息でないかを理解するのに本当に苦労しています。私が理解していること:
POST PUT DELELE GET を使用する必要があることはわかっていますが、見たように POST だけですべてを実行できます。では、なぜそれらを使用するのですか?Rest は動詞ではなく名詞に関するものであり、アクションではなくリソースに関するものであることを私は知っています。これが実際に何を意味するのか私にはわかりません。
誰か、私が説明するこの特定のケースで、Rest Web サービスがどのように見えるかを説明してもらえますか? subscribe/unsubscribe/register のようなアクションがないのはどうしてですか?
例を挙げて、Restとは何かを最終的に理解できることを願っています。この時点で、SOAP とは何かもわからないと言うべきかもしれません。サービスの開発を始めたとき、これが正しい方法だと思ったので、このようにしました。それから、Rest/Soap について学びました。では、Rest は私のサービスを実行できる別の方法です。もしそうなら、少し時間をかけてその方法を説明してください。
長い文章を読んでいただき、誠にありがとうございました。
**親切にも答えていただける場合は、この件に関する定義や理論的なアプローチを教えてください。読むべきものはほとんど読んだ。私は新しい html/php スクリプターでもあるので、説明したのとまったく同じサービスの例を教えていただければ幸いです。それが安らかだったらどうなるかを理解するのは素晴らしいことだと思います。
編集
私の見方では、HTTPリクエスト(POST)を使用して、特定のアクション/ phpスクリプト(subscribe、register、whereSubscribe)にデータ(id、tokenなど)をプッシュしました。
残りは正反対であるべきですか?アクションを HTTP 経由でリソース (ユーザー イベント) に送信します (post put delete update)。
それは、すべてのプログラミングも変更されるということですか? 私が書いたスクリプトを持たないことがどうして可能なのか理解できません。PHPスクリプトを持っていない場合、どのようにプログラムでサブスクリプションを作成できますか?!