2015-10-05 20 views
1

我目前正在一个额外的轻量级的Web服务器下的人谁试图破解我的服务器,但我想知道正确的编码,以用于输出。格式化原始的HTML输出的所有客户端

我做一个简单的测试页面,只以粗体显示“错误”和“这是一个黑客-ED-服务器”为主要内容。

我试图用最小的HTTP头,因此页面可以显示更好。

目前Opera浏览器下方正确处理HTML,但是,当我使用没有任何参数没有出现在屏幕上的卷曲测试。我反而期望HTML代码出现。

当我使用卷曲-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

这很奇怪。我将'HTTP/1.1'改为'HTTP/1.0',并用CURL对其进行测试,并显示HTML输出。然后我开始用apache bench进行测试,并得到了“通过peer重置的连接”。我不知道这是为什么? – Mike

回答

0

...我然后继续与Apache替补测试,并得到

你可能没有完全读取来自客户端的请求,而只是倾倒你的回应“通过对等连接复位”客户端并关闭连接。另请参阅Perl: Connection reset with simple HTTP server

除此之外,您所提供的代码的单行不足以回答你的问题,因为它是相关的,你从客户端读什么,你送什么,当你关闭TCP套接字。本身的反应很好,但你最好添加一个内容长度。