如果我的浏览器尝试对不在我服务器上的文件执行HTTP GET,我只需编写
找不到HTTP / 1.0 404 \ r \ n \ r \ n
到港口。在我的浏览器的Web控制台中,我可以看到有时错误被识别,但有时却不是。相反,文本将显示在浏览器窗口中。为什么会这样?
如果我使用curl,响应总是看起来一样,那为什么它会在浏览器中执行此操作?
答案 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:
。