nginx と apache はどちらも、アプリにリクエストを送信するためにどのような形式に従いますか?

nginx と apache はどちらも、アプリにリクエストを送信するためにどのような形式に従いますか?

Rails や Laravel などのアプリが Apache や nginx などのさまざまなサーバー アプリケーションからのリクエストを受信できる場合、サーバーがアプリへのリクエストを処理するために従っている何らかのリクエスト形式があるはずだと考えていました。

これはどのような形式ですか?

それとも、私がこれを間違って概念化しているのでしょうか?

答え1

あなたはこれを間違って概念化しているのではなく、正しい考えを持っています。

これを行うにはいくつかの方法があります。

  • CGI スクリプト: Web サーバーは変数を設定し、リクエストごとにアプリケーションを実行し、リクエスト本体を stdin に渡し、stdout で http 応答を期待します。
  • プロキシ: アプリケーションは独自のウェブサーバーであり、nginx/apache は単にそのプロキシとして機能する
  • uwsgi/fastcgi: アプリケーションと Apache は、特別なプロトコルを使用してリクエスト/レスポンス情報を転送し、ソケットを介して通信します。
  • 組み込みモジュール (例: Apache の mod_php): Web サーバーはスクリプトの言語のインタープリターを組み込みます。

答え2

あなたが探している用語は、一般的には SAPI (Server Application Interface)、より具体的には ISAPI (IIS) と NSAPI (Netscape、まだ存在しているのでしょうか?) だと思います。

これらすべてがどのように機能するかに関する言語固有の(PHP)質問に対するこの回答を確認してください -https://stackoverflow.com/a/38669983/6867430

関連情報