我正在尝试使用包装在 BufferedWriter 中的 Java 套接字发送“index.html”代码。当我打开浏览器并连接到“localhost:port”时,我得到:
- 文本输出 (
<head>...</head> <body>...</body>
) - firefox@linux - 文本输出 - chrome@linux
- 正确的网页 View - konqueror@linux
- 文本输出 - firefox@windows7
如何修复此问题以获得每个浏览器的正确 View ?
最佳答案
How can I fix this to get correct view for every browser?
根据您的描述,听起来您的代码严重违反了 HTTP 协议(protocol),并且每个浏览器对此违规的处理方式有所不同。您需要做的第一件事是温习 HTTP,请参阅 http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6
听起来您没有发送响应状态行、必需的 header (包括 Content-Length 等),然后是消息正文(您的 index.html)
阅读 RFC2616 并了解遵守 HTTP 协议(protocol)所涉及的内容后,您可能需要重新考虑自己执行此操作,并考虑使用任何一个框架来为您处理此问题 - Tomcat和 Jetty是非常流行的基于 Java 的 HTTP 框架。 Netty也是一种选择,成为更轻量级的可定制框架。
关于java - 从java套接字发送html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517759/