HTTP Web サーバーに Options メソッドを実装したいと考えています。しかし、このメソッドの動作に関する適切なチュートリアルはまだ見つかりませんでした。このメソッドを実装するコードを 1 つ作成しました。私のコードはこの質問の最後にあります。
しかし、私が使用したサーバーの動作は間違っていると思います。オプション要求を受け取ったときにサーバーが応答する正確な方法/手順を教えてください。親切な対応をお待ちしています。
クライアントコード
public class Client {
public static void main(String[] args) {
HttpClient client = new HttpClient();
client.getParams().setParameter("http.useragent", "Test Client");
OptionsMethod method = new OptionsMethod("http://localhost:8080");
try {
int returnCode = client.executeMethod(method);
if(returnCode == 405 ) {
System.out.println("The Options method is not implemented by this URI");
} else {
Header[] header = method.getResponseHeaders();
for(int i = 0; i < header.length; i++) {
System.out.println(header[i].getName() + ": " + header[i].getValue());
}
}
} catch(Exception e) {
System.out.println("Options method ki to TAI TAI FISSHHHHHH");
} finally {
System.out.println("close method");
method.releaseConnection();
}
}
}
サーバー コード (私のサーバーでは PUT、POST、GET、HEAD、OPTIONS メソッドが許可されています)
printStream.print("HTTP/1.1 200 OK");
printStream.write(Worker.EOL);
printStream.print("Date: " + new Date());
printStream.write(Worker.EOL);
printStream.print("Allow: OPTIONS, GET, HEAD, POST, PUT");
printStream.write(Worker.EOL);
printStream.print("Content-Length: 0");
printStream.write(Worker.EOL);
printStream.write(Worker.EOL);
これはサーバーが応答する正しい方法ですか? そうでない場合は、Options Request を取得したときにサーバーが動作していることを教えてください。