Web には本当にたくさんの種類のフレームワークがあり、Web コンテナー、Web サーバーなどの用語もたくさんあります。初心者にとってはまさに悪夢です。 。 。
少しはっきりするまでに 1 日かかりました、
1. 実際、これらのいわゆるフレームワークは、私たちが使用するインターフェイスを提供するパッケージにすぎません。
2. Web コンテナは実行環境またはコンパイラとみなすべきですか? HTML ファイルの生成に使用されます。
3. Web サーバーの概念が広すぎて不明確に感じます。 。 。
4. もっと近いところでは、Nginx はフレームワークに属するべきでしょうか?それともそれ自体がアプリケーションですか?また、Nginx での開発には C を使用しますか? (これはNginx自体がどの言語で開発されているかを意味するものではないことに注意してください)、しかしNginx上で実行されるプログラムはどの言語で開発されているのでしょうか? Cしか使えないのでしょうか?
5. Nginx 開発とは何を意味しますか?アプリケーション自体であれば、アプリケーションの上にアプリケーションを開発しますか?
上記の 5 つの点のどれが正しいかはわかりません。すべてが間違っている可能性もあります。 。 。 Webを学びたい初心者の私を助けていただければ幸いです
私も全く同感です
Webコンテナとは、アプリケーション層でhttpを利用してhtmlなどの様々な形式でデータを送信するアプリケーションであり、ブラウザはデータの種類に応じて分けて処理します
Webサーバーの概念は大したものではなく、一般的には裸のhttpサービスとして理解できますが、このhttpサービスはWeb関連のデータを送信します
Nginx はネットワークの最上位に位置し、アプリケーションに属します。 C 開発。モジュールの二次開発をサポートします。
Nginx 開発はプラグインの開発を参照する必要があります。nginx にも http モジュールがありますが、この http モジュールはデフォルトのユニバーサル モジュールです。独自の http モジュールをカスタマイズする必要がある場合は、C の二次開発を使用する必要があります。リクエストの正当性を検証する必要があるため、私たちのアプローチは、各 http リクエストのヘッダーに暗号化された文字列を含め、それが間違っている場合は、それをブロックするというものです。リクエストは無効です。当社のビジネスサーバーには入りません。最も一般的なもう 1 つの状況は、Lua を使用して nginx 拡張機能を作成することです。たとえば、グレースケール リリース用に新しいバージョンをリリースするときに、テストで問題がなければ少量のユーザー トラフィックを新しいサーバーにインポートする必要があります。もちろん、nginx フレームワーク自体はいくつかの低レベル API を提供するため、プラグインを作成する際には、Lua スクリプトを使用して実装し、nginx コンポーネントを作成します。基礎となる実装ではなく、ロジックだけに集中する必要があります。
nginx 開発は、クラスのクラス メソッドを作成するようなものです
フレームワークは開発で一般的に使用されるコードとパターンを抽出し、プログラマーが手動でコードとパターンを作成する必要はありません
Webコンテナは仮想マシンです
Web サーバーは、ネットワーク リクエストを処理し、さまざまなテキストを返すソフトウェア プロセスです。たとえば、最も一般的なものは、http リクエストに遭遇したときに HTML テキストを返すことです
。nginx はプロキシ サーバーです。nginx を使用せずに、さまざまな言語で実装された Web サーバー プロセスがネットワーク リクエストを処理し、対応するテキストを吐き出すことができます。nginx の機能は、単にさまざまなネットワーク リクエストをフィルタリングして、対応する Web ページにスローすることです。サーバー プロセスは、ネットワーク リクエストを処理するときに、これらの Web サーバーによって吐き戻されたテキストを使用します。まあ、nginx も Web サーバー プロセスです
。上で述べたように、nginx はネットワークソケットリクエストを処理できるあらゆるプロセスと通信できるため、nginx がどの言語で開発されたかは関係ありません。nginx 自体の機能を拡張したくない場合は、c と lua を使用してください
Apache に似たサーバーであり、バックエンド プログラミング言語はサーバーに依存して動作環境を構築します。これはプログラムではなくサービスとして理解できます。