2011-05-06 160 views
1

SOS SOS SOS请! 我在java中创建了一个原始的HttpServer,它监听端口80并使用Get方法打开一个文件etc(127.0.0.1/index.html)。我想创建HTTP/1.1(RFC 2616)协议的请求头(Accept,Accept Language,User-Agent)和响应头(Content-Length和Cache-Control)。 你能帮助我如何做到这一点......你将拯救我的生命!!!!!!!! 谢谢!Http服务器如何创建请求头和响应头

+0

这是一个家庭作业? – eykanal 2011-05-06 15:33:49

+0

我不明白 - 如果你编写了你自己的服务器,它应该像写入适当的字符串到输出流然后是新行一样简单 - 这就是所有的头文件,符合某些限制的'name:value'对了解他们在回应中出现的位置和方式。 – 2011-05-06 15:35:03

+0

是的,如果你真的阅读RFC,你会看到这是多么容易。 – 2011-05-06 15:41:36

回答

1

标题只是在初始GET/POST/*操作之后的行。最后一个标题与空白行分开。所以你所需要做的(在客户端和服务器端)都是在内容之前写入几行到请求/响应中。

HTTP/1.0 200 OK 
Date: Fri, 31 Dec 1999 23:59:59 GMT 
Content-Type: text/html 
Content-Length: 1354 

<html> 
<body> 
... 
(more file contents) 

P.S. Java有一个内置的HTTP服务器,你知道吗?

com.sun.net.HttpServer:

HttpServer httpServer = HttpServer.create(new InetSocketAddress(port), 5); 
httpServer.createContext("/", new MyRequestHandler()); 
httpServer.setExecutor(Executors.newCachedThreadPool()); 
httpServer.start();