我目前正在C中为试图破解我的服务器的人制作一个额外的轻量级Web服务器,但我想知道用于输出的正确编码。
我制作了一个简单的测试页面,只显示"错误"用粗体和"这是一个黑客服务器"作为主要文本。
我尝试使用最小的HTTP标头,以便页面可以更好地显示。
目前Opera浏览器正确处理下面的html,但是,当我在CURL中使用no参数测试它时,屏幕上没有任何参数。我反而希望HTML代码出现。
当我对CURL使用-I参数时,预期的HTTP标题会正确显示。
char buf[10000]={"HTTP/1.1 200 OK\r\nContent-type: text/html\r\n\r\n<html><head><title>hacked</title></head><body><H1>Error</h1><p>This is a hack-ed-server</p></body></html>\n"};
在所有测试中,我使用了相同的正确IP地址和正确的端口号,并且包含上述代码的服务器守护程序一直在运行。
我很好奇。 CURL,Opera或我的代码有什么问题吗?我是否错误地为HTTP标头格式化了返回代码?答案 0 :(得分:0)
...然后我继续用apache bench测试它并获得“peer peer reset”
您可能没有完全从客户端读取请求,只是将响应转储到客户端并关闭连接。另请参阅Perl: Connection reset with simple HTTP server。
除此之外,您提供的单行代码不足以回答您的问题,因为它与您从客户端读取的内容,发送的内容以及关闭TCP套接字的内容相关。响应本身很好,但你最好添加一个内容长度。