Web服务器在收到“选项”请求时如何响应?

时间:2013-05-09 13:07:03

标签: java http webserver httpwebresponse http-options-method

我想在HTTP Web服务器中实现Options方法。但我还没有找到这个方法工作的好教程。我制作了一个实现此方法的代码,我的代码就在这个问题的最后。

但我认为我使用的服务器的工作是错误的。在获得选项请求时,您能告诉我服务器响应的确切方法/步骤吗?等待你的回应。

客户代码

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);

这是服务器响应的正确方法吗?如果没有,请告诉我服务器何时获得选项请求?

0 个答案:

没有答案