プロが教える店舗&オフィスのセキュリティ対策術

c言語で簡易サーバを作成しています

httpリクエストを解析して、要求されているURIを送信するにはサーバ側でどういった処理をすればよいですか?

URIに対応したファイルがない場合は応答コード404を送信するようにしたいです。

A 回答 (1件)

リクエストヘッダに対する httpd側の応答ヘッダについてという意味ですか?


http://www.studyinghttp.net/ がいろいろ詳しいですが

1.ステータスコードを返す
2.ヘッダの改行はCR+LFである
3. Content-Length: でバイト数を通知
4. Mime-Typeヘッダを送信
5. ヘッダの終わりは空行を返す
 等、詳しくは上記参考サイトをご覧ください

あと http://www.atmarkit.co.jp/fnetwork/rensai/tcp01/ …
http://oshiete1.goo.ne.jp/qa4171626.html の#10
http://oshiete1.goo.ne.jp/qa4147249.html
あたりで Apacheとの セッションで実際に送信/返信されるヘッダを取得する方法について触れています

この回答への補足

サーバー側でどんな処理をすれば要求されたページをブラウザに表示させることができるのか分かりません。

今作成したサーバはクライアントからリクエストがあれば無条件でカレントディレクトリにあるhtmlファイルをfopenしてクライアントに送信するようにしています。

例えばtelnetを使用した場合GETメソッドを使わなくてもhtmlファイルを受信できてしまいます。

どうすれば、正しいファイル名がURIで指定されたときのみクライアント側に送信できるようになるんでしょうか?

補足日時:2008/07/18 14:35
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!