SPEAKER 1:すべての権利なので、どのような それはあなたが具体的に実行する必要がありますか? まあ、そこのが判明 ちょうど4つの機能 あなたが実装する必要があること その機能です 適切に不可欠 Webサーバの動作 しかし、すべてのそのの 動作は非常に狭くです 彼らは唯一のように、定義されました ほとんど一つのことを行います。 あなたが行っている最初のもの 実装されて行う必要があるために、 仕様に従って、 Lookup関数。 これはかなり単純な関数であります 引数として取り終わり、 どのようなファイルへのパス ユーザーが要求するために望んでいること、 あなたがで応答する必要があります いわゆるMIMEタイプ、コンテンツタイプ、 そのファイルの。 例えば、それはだ場合 ファイルのような、ハロードット あなたは、MIMEで応答しようとしているHTML 引用引用終わりテキストスラッシュHTMLのタイプ。 それはイメージです場合、または、あなたがお勧めします 画像ドットスラッシュで応答します JIFFまたは画像スラッシュJPEG。 様々なの仕様を参照してください あなたが検出するために必要なファイル形式。 しかし、それは本当に取るに沸きます パスを見て、あなたが過去であることを、 そのファイルを見ます 拡張子、最後の数文字 末尾のピリオドまたはドットの後。 だから我々はいくつかとあなたにそれを残しておきます 仕様のヒント 見つけるために正確にどのように把握します そのドットとファイル拡張子 あなたが行うことができますように 一方から他方へのマッピング。 次はparse関数です。 したがって、この1は少しです 多くの点で、関連します あなたはそれで取る必要があります 引数[聞こえません]、 それは、文字、その上に反復です 文字、または文字列によって文字列を、 確実にするために、 それは正確に適合していること その最初の正式な定義 リクエスト行、仕様に従って。 そして、あなたは絶対にロードする必要があります サブストリングは、それが表すパス 何かのような、ハロードットHTMLを大幅に削減します。 一方、必要に応じて、その後 パスは疑問符であるかもしれません して、クエリ文字列 以下のような、qは猫に等しく、 またはqは猫がアンパサンド等しく、 その後、別のキーと値のペア。 だから、する必要があるとしています これらの文字の上にステップ、 同様に、アップまで 順序で最初のスペース、 その店舗の文字列を作成します その中のクエリ文字列そのもの。 次に、あなたはするつもりです ロード機能を実装します。 あなたが目を通すのであれば、それは、判明します ソースコード、仕様が指示したように、 ロード機能は2つの場所で使用されています。 これは、ロードするために使われているのいずれか PHPインタプリタからの出力。 そして、我々はすべてを書きました PHP処理コード、 それはする必要がありません 呼び出された関数を使用します 負荷、すなわち、本質的にすべてを読み取ります PHPのインタプリタからの出力のバイト 大きな配列に。 その同じ機能のロード また、ロードするために使用されます バイトのメモリにすべてのファイルから 以下のように、JIFF、またはJPEG、またはドットHTML ファイルは、ユーザが要求しました。 だから、いくつかのトリックを使用する必要がありますし、 問題のツールは、ファイルIO 4に設定しました しかし、あなたは、比較的それを見つける必要があります おなじみと素敵な方法で、うまくいけば、 新しいウェブを一緒に結ぶの 古いファイルIOのものともの。 最後に、インデックス内 機能、すべてあなたが行う必要があります そこか否かを決定することです 効果的にいくつかのファイルを存在 インデックスドット、HTML、またはインデックスのドットPHPと呼ばれます、 そのパスあなたディレクトリの内部 過去のです。 これの利点は、もしあることを意味 ユーザーがディレクトリを要求し、 私たちは彼を表示するつもりはありませんか、 彼女のそのディレクトリの内容を、 我々は文字通り彼らにインデックスドットを紹介 デフォルトでは、HTML、またはインデックスのドットPHP、。 しかし、それはにあなたに任せることになるだろう ヒントのいくつかを使用して、把握 ソースコードで、その 我々はすでにあなたに与えてくれました、 あなたが実際にチェックする方法 特定のファイルが存在するかどうか 現在のディレクトリに、そのよう あなたは正しい応答を返すことができます。 だから、最後にあります 比較的少数のバイト あなたが外に取る必要があること この問題は、サーバのを実装するように設定 不完全な機能を提供します。 しかし、間違いなくあなたが包むことを確認してください コー​​ドの周りに同じくらいあなたの心 することができますように、服用 これを行わないことで快適 すべてを理解する必要があります すべての最低レベルのネットワークコード、 最低レベルのファイル入出力コードの。 本当に、私たちは何をやっています この問題を設定しました 過去数問題を合成されます セットは、WebLogicのビットを導入し、 およびネットワークの概念、 その結果、最終的にあなたが 実際にはかなり何かを構築 実際にはかなり強力で、興味深いです、 それでも使用して 同じビルディングブロック 我々はいくつかの時間のために使用してきたこと。