さて、インターネットがどのように機能するかの基本的な考え方はわかりました。クライアントがリクエストを送信し、サーバーが応答を返します。しかし、Rails アプリを開発しようとしていたときに、RESTful アーキテクチャ、http リクエスト (GET、POST など)、xhr リクエストなどに遭遇しました。ですから、これらが何であり、CRUD Web アプリでどのように組み合わされるのかについて、誰かが詳細な説明をしてくれたら素晴らしいと思いました。
3 に答える
わかりました、私はこれを試してみます:
RESTful アーキテクチャを使用する理由
最近の多くの Web アプリケーションでは、データベースとアプリケーションの間に REST API を構築しています。
REST API は Web アプリケーションにデータを提供し、サーバー側 (ページがユーザーに送信される前) またはクライアント側 (ユーザーがページをダウンロードした後) で呼び出すことができます。
また、将来のプロジェクトで活用することもできます。たとえば、ウェブサイトが人気を博し、ネイティブのモバイル アプリも必要になったとします。これを実現するために、既存の REST API を再利用できます。
HTTP動詞
長い間、ほとんどの Web 開発者が使用していた HTTP 動詞 ( http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Request_methods ) は GET と POST だけでした。
通常はあまりアクションを起こさない既存の HTTP 動詞を拡張したデータを処理する REST サービス。したがって、REST 呼び出しでオブジェクトを削除する場合は、例として DELETE 動詞を使用します。
HTTP 動詞は、REST サービスにデータを操作するためのより直感的な方法を提供するだけです。
XHR リクエスト
XHR リクエスト ( http://en.wikipedia.org/wiki/XMLHttpRequest ) - AJAX 呼び出しを行う方法です。クライアント (Web ページを取得した人) が REST サービスを直接呼び出すという考え方です。
ただし、大きな違いは、呼び出しが「バックグラウンドで」、つまりページを更新せずに行われることです。新しいメールを受信したときに Gmail がどのように機能するかを考えてみてください。ブラウザーでページ全体が更新されていることに気付きません。より優れたユーザーエクスペリエンスを提供するだけです。
それらはどのように連携しますか?
最近の Web アプリケーションを作成する場合、データベースからデータを提供する REST サービス/API を用意するのが一般的です。次に、Web アプリケーションからその REST サービスにアクセスするときに、それらの呼び出しをサーバー側 (Java/C#/Ruby など) から行うか、クライアント側 (Javascript) から行うかを決定できます。
それぞれのアプローチには課題がありますが、それが役立つことを願っています。
Rail CRUD プロジェクトについては、このチュートリアル ( http://guides.rubyonrails.org/getting_started.html ) をご覧になることをお勧めします。CRUD 操作を備えた基本的な Web アプリが表示されます。その後、試すことができます。 REST API を追加して、ブログ投稿を作成したり、REST API を使用して投稿にコメントを追加したりできるようにすることを実験しています。ここで多くのリソースを見つけることができます ( http://ruby.railstutorial.org/chapters/following-users#sec-rest_api )