浏览器未从服务器接收

时间:2013-04-14 22:38:14

标签: c http network-protocols

我正在写一个简单的网络服务器,现在我只是想设置一个通用的 回应看它是否有效。现在,它只在Firefox上工作而不是 在Chrome或Opera上。以下是我收到的一些请求,最后是一般性回复。我在回复中缺少一条线吗?是否真的有一个通用的响应来启动和运行服务器?

我看到请求有“Connection:keep-alive”,所以我尝试将连接打开几秒钟,这似乎没有帮助。我尝试将数据与响应标题分开发送,这也没有任何帮助。

GET / HTTP/1.1
Host: 192.168.1.128
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko)  Chrome/26.0.1410.43 Safari/537.31
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

GET / HTTP/1.1
User-Agent: Opera/9.80 (X11; Linux x86_64) Presto/2.12.388 Version/12.15
Host: 192.168.1.128
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: en-US,en;q=0.9
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

GET / HTTP/1.1
Host: 192.168.1.128
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:11.0) Gecko/20100101 Firefox/11.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive

回复:

HTTP/1.0 200 OK
Date: Sun Apr 14 15:13:36 2013
Server: server_th
Content-Type: text/html
Content-Length: 40
Connection: close

<html><body><h3>Hey!</h3></body></html>

1 个答案:

答案 0 :(得分:1)

您的回复没有正文,因此您会看到一个空白页面。此外,它似乎缺少尾随的CRLF,但我不确定是否是由于复制粘贴。

检查HTTP specs

编辑:在更新的响应中,实体长度实际为39,虽然它被声明为40.可能是客户端正在等待剩余的有效负载吗?