Http-Server 如何创建请求标头和响应标头
Posted
技术标签:
【中文标题】Http-Server 如何创建请求标头和响应标头【英文标题】:Http-Server How to Create Request-Headers and response-Headers 【发布时间】:2011-05-06 15:26:46 【问题描述】:求救求救求救!!! 我在 java 中创建了一个原始 HttpServer,它侦听端口 80 并使用 Get 方法打开文件等(127.0.0.1/index.html)。我想从 HTTP/1.1 (RFC 2616) 协议创建请求标头(接受、接受语言、用户代理)和响应标头(内容长度和缓存控制)。 你能帮我怎么做吗...你会救我的命!!!!!!!!! 谢谢!
【问题讨论】:
这是家庭作业吗? 我不明白 - 如果你已经编写了自己的服务器,它应该像将适当的字符串写入输出流然后换行一样简单 - 这就是标题的全部内容,@987654321 @ 对遵循它们在响应中出现的位置和方式的某些限制。 是的,如果你真的阅读了 RFC,你就会明白这有多简单。 只有老手才能阅读文档,伙计! 【参考方案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)
附: Java 有一个内置的 HTTP 服务器,你知道吗?
com.sun.net.HttpServer:
HttpServer httpServer = HttpServer.create(new InetSocketAddress(port), 5);
httpServer.createContext("/", new MyRequestHandler());
httpServer.setExecutor(Executors.newCachedThreadPool());
httpServer.start();
【讨论】:
以上是关于Http-Server 如何创建请求标头和响应标头的主要内容,如果未能解决你的问题,请参考以下文章
与响应标头相比,请求标头中的 Cache-Control 效果如何