0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Go Webアプリケーションの内部的な仕組み

Last updated at Posted at 2022-01-22

こんにちは。

Golangを本当に基礎からやろうと、Goで構築したwebアプリの内部で何が行われているかを学習したので備忘録としてまとめます。

【背景】
これまでいくつかwebアプリを作ってきたが、内部的にそもそも具体的に何が行われているのかという基礎の部分があいまいだったため、改めて学習しなおそうと思った。また、これからGoでAPIサーバを作ろうと考えているので、基礎をしっかり学習しておくことで、後々理解が深まったり応用が効くと思ったため。

【本題】
①クライアントからサーバへHTTPリクエストを送信する。

②リクエストは、一旦マルチプレクサと呼ばれる部分に送られる。このマルチプレクサが、リクエストの値を見て適切なハンドラにリクエストを振り分ける。

③ハンドラは、リクエストを処理する

④ハンドラにおいてDBのデータが必要な場合、DB内部のデータをモデル化したデータ構造体を使用する。このデータ構造体がDBと接続する。

⑤ハンドラでの処理完了後、ハンドラはテンプレートエンジンを起動する。

⑥テンプレートエンジンは、テンプレートを作成し、取得したデータと合わせてHTMLファイルとする。

⑦作成されたHTMLファイルはレスポンスの一部としてクライアント側に返される。

【今後の取り組み】
今回は上に書いたようなHTMLファイルをいちいちレスポンスとして返すようなアプリ開発ではなく、SPA構成でDBのデータをJSONとしてレスポンスする形で開発しようかなと思ってます。
しかし、webアプリの基礎を固めておくことは今後の成長に大きく影響すると考えているため、忘れないようにしたいです。
Golangでのアプリ開発の経緯もまた投稿します。

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?