43

IIS の仕組みをより深く理解しようとしています。

http.sys は、その主要なコンポーネントの 1 つです。しかし、私はそれについて簡単に消化できる情報を見つけるのに苦労しています. WSK の話を聞くまでは、良いメンタル モデルを思いつくことができませんでしたが、すべてうまくいったと思います。

多くのランダムなグーグル検索と小さな実験から、これは、なぜそれが存在し、どのように機能するかについての私の現在の高レベルの理解です.

どうして:

ポート共有と高性能キャッシング。

どのように:

ユーザー モード プロセスは、WinSock API を使用してポートをリッスンするソケットを開き、ネットワーク サブシステム (tcp/ip など) にアクセスします。http.sys ドライバーのようなカーネル モード ソフトウェアは、Winsock Kernal Sockets (WSK) API を使用して、WinSock API と同じ TCP ポート番号のプールを使用して同じ目的を達成します。

IIS、Web サービス、または http を使用したいものは、一意の URL/ポートの組み合わせを使用して http.sys に登録されます。http.sys は、WSK を使用してこのポートでソケットを開き (同じポートで別の URL/ポートの組み合わせをまだ使用していない場合)、リッスンします。

トランスポート層 (tcpip.sys) が IP パケットの負荷をクライアントが送信した http 要求に再構築すると、要求のポートを介して http.sys に送信されます。Http.sys は、url/ポート番号を使用して、それを解析する適切なプロセスに送信します。

私は自分自身の質問に答えているように見えることを知っていますが、私はこれについて自分自身に確信が持てず、もっと興味深いことに取り掛かることができるようにいくつかの閉鎖を望んでいます.

私は近くにいますか?

4

0 に答える 0