0

私はまだ Java を学んでおり、ソケットを使用して基本的な WebServer を構築しようとしています。サーバーは動作しており、出力データをブラウザーに送り返していますが、ヘッダーを送信する方法がわかりません。ヘッダーは単に "\r\n \r\n" コンテンツ本文から

これは私が現在ブラウザに書いている方法です

Socket socket = socketServer.accept();
System.out.println("Web Request From: "+socket.getInetAddress().toString());

BufferedReader in = new BufferedReader(
     new InputStreamReader(socket.getInputStream())
);
PrintWriter out = new PrintWriter(socket.getOutputStream());
Stirng output = "<!DOCTYPE html><html><body><h1>403 Forbidden</h1></body></html>"
out.write(output, 0, output.lenght());
out.flush();
out.close();
4

3 に答える 3

1

ヘッダーを出力文字列に入れ、 で互いに分離し\r\n、本体からで分離し\r\n\r\nます。または、PrintWriter を使用して、それらを 1 つずつ、空行、次に本文を印刷します。

于 2013-03-23T13:42:50.200 に答える
1

NanoHttpdを見てください。これは 1 つのファイルの Web サーバーであり、とても楽しく遊べます。彼らはヘッダーを送り返しているので、彼らのコードをかなり簡単に見て、彼らが何をしているのかを見ることができるはずです.

于 2013-03-23T14:08:23.957 に答える
0

最初にHTTP情報を送信する必要があります

out.println("HTTP/1.0 200"); 

他のコード送信または本体の前に必要です

于 2013-03-23T14:16:23.597 に答える