HTTP and Web Apps


いろんな意味では、ウェブアプリの開発に関して全てHTTPに関わっています。この事実はRailsのようなフレームワークを使って開発することにつれ急速に不明瞭になってしまうんです。きちんと覚えていただきたいのは、ウェブアプリの基礎的パラダイムは、あるHTTPリクエストを応答し、相応のHTTPリスポンスを作ることです。数多いのRailsのコンベンションズの存在はただそのプロセスを少し容易にしたいからです。


クライアント サーバー モデル


Railsのウェブアプリにおいては、クライアントはウェブブラウザであり、ウェブアプリはサーバー上で稼働しています。


任意の相互動作はブラウザからHTTPリクエストを送信するはじめ、アプリは以下の動作をとります。


1そのリクエストを処理する場所を特定します。
2 事前定義されたロジックでリクエストを処理します。
3 応答(リスポンス)を構築する。

 
これが完了すると、アプリはブラウザにHTTP応答を返します。ブラウザはユーザに応答を表示します。


すべてのクライアントとサーバーとの対話がHTTPリクエストから始まる


HTTPリクエストには3つの部分があります。


1 リクエストライン。
2 リクエストヘッダー
3 リクエスメッセージ本文


このシリーズでは、私たちはリクエストラインとそれに特に関わる2つの部分だけに注意します:


1 リクエスト メソッド
2 リクエスト パス


GETとポストは通常のHTTPメソッド、/hello_worldと/create_postはパスの例です。


パスは、ドメインの後に/があるURLで始まるURLの部分です。したがって、URL http://www.launchschool.com/booksの場合、/ booksはパスです。


以下のようなリクエストがWebアプリに出ます:


GET /hello_world
POST /create_post


そして、メソッドとパスの組み合わせに基づいて、それらと何をするかを決定します。


すべてのクライアント — サーバーインタラクションがHTTP応答で終了します


HTTP応答には3つの部分があります。


1 ステータスコード
2 ヘッダー
3 本文(body)


ステータスコードは、サーバーがどのように処理したかの総体的な結果をクライアントに伝えます。よく出た値は、200(OK)、404(リソースが見つからない)、500(サーバー側エラー)です。


レスポンスのボディセクションは空でもかまいませんが、ほとんどの場合、本文セクションにHTMLドキュメントが入っています。これは、このシリーズで紹介する主要なHTTPレスポンスパターンです。


ウェブアプリは中間位置にある


リクエストと応答の間には、着信リクエストを解釈し、データベースから必要なデータを引き出し、あらかじめ定義されたビジネスルールに従って処理して、ユーザーのブラウザに表示されるHTMLドキュメントを含む応答を生成するのは、実際のウェブアプリであります。


 フレームワークなしでゼロからWebアプリを実装することは可能ですが、最新のWebアプリのほとんどは、開発を容易にするRuby on Railsのようなフレームワークで構築されています。

このシリーズでは、Railsを使ってWebアプリケーションを構築する方法の詳細を学習します。