为什么我的浏览器有时无法识别我的服务器标题?

时间:2012-04-24 22:29:32

标签: html c web-services http

如果我的浏览器尝试对不在我服务器上的文件执行HTTP GET,我只需编写

  

找不到HTTP / 1.0 404 \ r \ n \ r \ n

到港口。在我的浏览器的Web控制台中,我可以看到有时错误被识别,但有时却不是。相反,文本将显示在浏览器窗口中。为什么会这样?

如果我使用curl,响应总是看起来一样,那为什么它会在浏览器中执行此操作?

1 个答案:

答案 0 :(得分:1)

似乎大多数网络浏览器都希望所有响应中都有Content-Length:标头。即使你没有回答任何事情;这很有趣,因为唯一的强制标头仅在请求中为Host:,仅用于HTTP 1.1。

我使用Firefox测试过,我必须写下以下内容才能使其正常工作:

HTTP/1.0 404 Not Found\r\n
Content-Length: 0\r\n\r\n

然后浏览器应该关闭连接。如果您使用libcurl,它可能也会插入此标题和其他标题,例如Date: