- 締切済み
サーバの作成 要求されているURIを送信するには?
c言語で簡易サーバを作成しています httpリクエストを解析して、要求されているURIを送信するにはサーバ側でどういった処理をすればよいですか? URIに対応したファイルがない場合は応答コード404を送信するようにしたいです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- umasikajiro
- ベストアンサー率67% (545/803)
回答No.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/01.html や http://oshiete1.goo.ne.jp/qa4171626.html の#10 http://oshiete1.goo.ne.jp/qa4147249.html あたりで Apacheとの セッションで実際に送信/返信されるヘッダを取得する方法について触れています
補足
サーバー側でどんな処理をすれば要求されたページをブラウザに表示させることができるのか分かりません。 今作成したサーバはクライアントからリクエストがあれば無条件でカレントディレクトリにあるhtmlファイルをfopenしてクライアントに送信するようにしています。 例えばtelnetを使用した場合GETメソッドを使わなくてもhtmlファイルを受信できてしまいます。 どうすれば、正しいファイル名がURIで指定されたときのみクライアント側に送信できるようになるんでしょうか?