当前位置: 技术问答>linux和unix
自己编写WEB服务器,照书上打的程序,有点问题,大家帮我看看谢谢
来源: 互联网 发布时间:2015-09-29
本文导语: 我正在自己动手写一个web服务器,照书上打了一个程序,有错误,大家帮我看看啊,谢谢啦 书名是《嵌入式系统TCP/IP应用层协议》电子工业出版社出版的 是照着93页的程序大的,现在直到listen都能正确完成,但用IE...
我正在自己动手写一个web服务器,照书上打了一个程序,有错误,大家帮我看看啊,谢谢啦
书名是《嵌入式系统TCP/IP应用层协议》电子工业出版社出版的
是照着93页的程序大的,现在直到listen都能正确完成,但用IE浏览器访问时,提示无法打开该页,而随便访问一个我同学机子的ip的话(他的机子没有web服务器),浏览器结果是半天什么也打不开,用opera浏览器访问我的时候,也是界面为空,但绝对不同于那些没有开服务的机子的反应,所以我判断应该是能连上,难道是传输的网页浏览器不能正确识别吗?那个例子是用一个"HTTP/1.0 200 OK ……这样的字符串将网页写过去的啊,似乎不应该有错啊?
用sniffer抓的报文是这样的:
HTTP:
HTTP: 1:HTTP/1.0 200 OK
HTTP: 2: Content-Type: text/html
HTTP: 3:
HTTP: 4: WelcomeWelcome!
HTTP:
我实在看不出哪里有错误啊,可就是出不来,IE始终是无法显示该页究竟哪里出问题了呢?
HTTP协议版本1.0可以吗?还是只能1.1的才可以?
书名是《嵌入式系统TCP/IP应用层协议》电子工业出版社出版的
是照着93页的程序大的,现在直到listen都能正确完成,但用IE浏览器访问时,提示无法打开该页,而随便访问一个我同学机子的ip的话(他的机子没有web服务器),浏览器结果是半天什么也打不开,用opera浏览器访问我的时候,也是界面为空,但绝对不同于那些没有开服务的机子的反应,所以我判断应该是能连上,难道是传输的网页浏览器不能正确识别吗?那个例子是用一个"HTTP/1.0 200 OK ……这样的字符串将网页写过去的啊,似乎不应该有错啊?
用sniffer抓的报文是这样的:
HTTP:
HTTP: 1:HTTP/1.0 200 OK
HTTP: 2: Content-Type: text/html
HTTP: 3:
HTTP: 4: WelcomeWelcome!
HTTP:
我实在看不出哪里有错误啊,可就是出不来,IE始终是无法显示该页究竟哪里出问题了呢?
HTTP协议版本1.0可以吗?还是只能1.1的才可以?
|
你的http控制头和 文件正文间要有个0d 0a 0d 0a 也就是 rnrn
|
如果你能确认数据却是发给你的浏览器了,那么你最好把http包well-formated,IE可能对包的格式检查比较严格。
|
格式就是这样的吗?
你抓个IE能显示的看看有什么不同呀
你抓个IE能显示的看看有什么不同呀
|
你要一步步看了 listen 成功还差 connect 等等
|
帮顶
|
你写的这个是cgi的程序,和web服务器不是一回事,写web服务器是类似apache的东西,就是能监听例如80端口,提供网络服务,但是你些的简单的web服务器不一定有cgi的功能。
如果你想测试cgi程序,那就到apache的cgi目录下面去测试。
如果你想测试cgi程序,那就到apache的cgi目录下面去测试。