回答:
これには多くのレイヤーがあります。そして重要なことに、それらの多くは互換性があります。
たとえば、物理レベルで同軸ケーブルネットワーク、イーサネット、またはWi-Fiをダウンさせることができます。HTTPはこれらすべての上で動作しますが、それぞれが送信されるペイロードの処理が少し異なります。
HTTPは、TCPと呼ばれる別のプロトコルの上で動作します。TCPは、多かれ少なかれ、IPと呼ばれるさらに別のプロトコルの上で動作します(現在、ほとんどの場合、IPv4とIPv6の2つのバリエーションがあります)。
そのため、HTTPサーバーは、オペレーティングシステムに184.38.45.1
TCPポート(80
HTTPのデフォルトですが、通常は1
から65535
)とともに、IPアドレス(など、またはほとんどの場合は「任意」)を登録します。これで、HTTPサーバーは、データ(または別のメッセージ)が来たときにpingを実行するようOSに指示します。ネットワークインターフェイスカードドライバーがそれを通知するため、OSはそれがいつ発生するかを認識します。NICドライバーはNIC自体から通知されます。NIC自体には、ネットワークケーブル上の電気信号(または空中の無線信号など)を解釈するための独自のソフトウェアがあります。
サイドノート:
NICがドライバー/ OSとの通信を開始する方法について詳しく知りたい場合は、ハードウェア割り込みに関する基本的な情報を検索することをお勧めします。基本的に、CPUが現在実行している処理はすべて停止され、プログラムフローは割り込みに切り替わります。ハンドラルーチン-システムへの通知を処理する非常に単純なコードで、すぐに制御をCPUが行っていた元の動作に戻します。実際、OSとコンピュータ自体の内部の仕組みに関する多くの質問に答えることがあります。たとえば、オペレーティングシステムが実行中のアプリケーションからCPUを「盗み取り」、同時に実行中の異なるアプリケーション間でCPUリソースをシャッフルする方法などです。彼らが協力しなくても。
仕事に戻る:
手動電話の例えで、電話が実際に鳴らないと想像してください。通話を試みているかどうかを確認するには、定期的に画面を見て確認する必要があります。これをHTTPサーバーで管理しやすくするために(その定期的なチェックを実行するレイヤーがすでにかなりあるため)、チェックの試行を実際にブロックできます。
つまり、チェックして何もないことを確認して再度チェックする代わりに、基本的には常に画面を見続けます。ただし、基本的にはこれを処理するための完全に別個のシステム(あなたの場合は、空気振動をチェックして有用な情報を確認する補聴器、リング)を備えているため、実際には注意(CPU時間)は必要ありません。
これは、一度に多くの接続を監視できる手法(IOCP)によってさらに改善されます。これはどんどん電話呼び出しシステムに近づきます-あなたは1万台の電話のある部屋を持っていますが、あなたは現在鳴っているものだけを気にし、他の人はあなたの注意を払っていません。
コンピュータは、電話交換機の「内線」に類似した「ポート」と呼ばれる概念を使用します。クライアントはサーバーのIPアドレスを「呼び出す」だけでなく、そのサーバーの特定のポートに要求を送信します。
数千のポート(wikipedia list)があります。たとえば、ポート80がHTTPのデフォルトです。
秘訣は、ウェブサーバーなどのプログラムが特定のポートをリッスンするように自分自身を登録できることです。次に、OSは、そのポートに着信するすべての要求をそのプログラムに渡します。
複数のポートを持つことのポイントは、互いに干渉しない異なるポートを使用することにより、同じサーバー上で同時に複数のサービスを実行できることです。
/ var / log / apache2ディレクトリがあり、次のディレクトリがあります。
access.log
error.log
other_vhosts_access.log
これは、クライアントからの要求、通知方法、SMS、電子メールなどに関連しています。
私の提案:
ログサーバーを作成し、メールサーバー、DNSサーバー、Webサーバーなどのすべてのログを送信できます。次に、それを解析できます。同じサーバーでもdbを使用しており、クエリを実行できます。
Webサーバーがポートにコールバック関数を登録していると思います。
その特定のポートで何かが受信されるたびに、システムは以前に登録されたコールバック関数を呼び出します そのコールバック内で、イベントなどを設定すると、Webサーバーはそのイベントを待機する専用スレッドを持ちます。このスレッドが実行され、このリクエストが、ウェブサーバーがすでに処理しているリクエストのメインリストにキューイングされます。
ここで私が与えたのは、起こっていることの非常に表面的でマクロな見方です。より正確な答えを得るには、専門家が来るまで待ちましょう。