打印

LWIP网页服务器火狐,遨游浏览不正常

[复制链接]
2911|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
logokfu|  楼主 | 2012-3-22 17:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 **kfu 于 2012-3-22 17:19 编辑

LWIP做的网页服务器,IE可以正常访问,但是火狐和遨游浏览器访问返回的却是网页的源码。

网页属性变成了text/plain



我网页代码写的不规范?我感觉我的代码写的没问题啊,我复制21IC的网页源码也不行
啊。还是程序哪里出了问题?


你们的有这种情况吗。大家都是用什么浏览器测试STM32的http啊。我很郁闷啊。
沙发
aozima| | 2012-3-22 17:22 | 只看该作者
发送内容前先发送 head

使用特权

评论回复
板凳
logokfu|  楼主 | 2012-3-22 17:34 | 只看该作者
本帖最后由 **kfu 于 2012-3-22 17:36 编辑

2# aozima

我的网页是这样写的,有问题吗,你看看。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ST MCU</title>
<meta http-equiv="MSThemeCompatible" content="Yes" >
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
</head>
<body>
<div>
123
</div>
</body>
</html>

使用特权

评论回复
地板
logokfu|  楼主 | 2012-3-22 22:25 | 只看该作者
本帖最后由 **kfu 于 2012-3-22 22:34 编辑

来人:'(

我判断不是我的网页源码问题。
为什么这么说呢,情况是这样子的,我之前把我的工程复制了两份,结果改来该改去,现在A工程是必须用80端口,不然换了其他端口以后ie浏览是正常的,火狐和遨游就是显示的网页源码。而B工程呢,不管用哪个端口,包括80端口,火狐和遨游都是显示的网页源码。 给人的感觉就是服务器返回的http头不正确似的。正常情况下应该返回的是
text/html可是这里火狐和遨游怎么总是判断是text/plain,结果网页就被误显示为源码了。
我用firebug看了下报头发现人家百度网站的是正确的有正常回应



但是我的这个服务器怎么没有响应呢,没有响应但是却返回了网页的源码过来。


我 在这里想问问大家,你们除了在IE上测试过在火狐上测试是什么情况呢。

我总觉得是我的http程序哪里出了问题(除了网页源码,网页源码因该没问题),苦恼。

使用特权

评论回复
5
网络转接| | 2012-3-23 13:42 | 只看该作者
"<meta http-equiv='Content-Type' content='text/html; charset=gbk'>"

使用特权

评论回复
6
logokfu|  楼主 | 2012-3-23 14:07 | 只看该作者
本帖最后由 **kfu 于 2012-3-23 14:20 编辑

我写的网页的兼容性肯定没有问题,为什么这么说呢,因为我用我的电脑搭建apache本地服务器,我用火狐和遨游都是可以正常浏览的。另外我自己有个远程服务器,我ftp把网页传上去也是可以正常访问的。另外我分别用了网页源码和网页数组(将html转换为数组)两种方式。得到的结果都一样的。我得到的结论是服务器那端的问题,客户端请求数据,服务器那端返回的数据出现了差错,导致原本正常的网页被浏览器解析错了类型(text/html被错误解析成text/plain)。我用firebug看了下http报头,发现居然只有客户端的请求头,没有返回头。硬件应该也没问题,觉得还是lwip的问题(不清楚是lwip的bug还是,还是我自身代码问题)。还得花些时间熟悉下lwip。

使用特权

评论回复
7
logokfu|  楼主 | 2012-3-23 14:10 | 只看该作者
根本不是网页编码(gbk或者utf-8)的问题,这个网页编码在W3都是可以验证通过的。实际在电脑上搭建的服务器都是正常的。

使用特权

评论回复
8
logokfu|  楼主 | 2012-3-23 14:16 | 只看该作者
另外我在用ie的时候,我把端口换成84端口,或者其他端口,会出现ie直接访问不了,ie提示说是"不能识别的协议"。因为之前工程我复制过几份,后来改来改去就出现了有些工程的非80端口不能识别的协议的问题。

使用特权

评论回复
9
网络转接| | 2012-3-23 14:53 | 只看该作者
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
把这个去掉 直接换成<html >试试

使用特权

评论回复
10
logokfu|  楼主 | 2012-3-23 15:33 | 只看该作者
在你说这个之前我已经都试过了,还是一个样儿,难不成原本标准的html到了这里还得裁剪下?可是裁剪了也不行。我觉得还是没有找到问题的根本。就拿家用路由器来说吧,路由器本身也是带有一个网页管理界面的。看了看人家的网页源码也是带有W3的头的。也是完整的源码。人家的就可以兼容非ie浏览器。我觉得这里不应该是网页源码的问题。而是服务器那边环境的问题。导致返回过来的数据报出了问题,这个问题比较复杂,这里没有找到事物的根本。

另外ie毕竟是主流浏览器,浏览器市场占有率最大。兼容性自然好点。很多不标准的网页也能马马虎虎解析出来,火狐就不同了,比较挑剔,严格解析各种网页,一般作为网页开发人员调试的工具。


这个东西先搁这吧,lwip毕竟我还没了解透测,回头再说吧。到时候说不定就有结果了。呵呵。

使用特权

评论回复
11
logokfu|  楼主 | 2012-3-23 15:39 | 只看该作者
我问这个东西的目的,第一我是想知道大家的服务器在火狐下有这种情况吗。第二,如果没有就算了,如果有请问你是怎么解决的。

使用特权

评论回复
12
aozima| | 2012-3-23 15:45 | 只看该作者
head是在发送html源码之前由web server发送的。

使用特权

评论回复
13
相信哥咯| | 2012-3-23 16:25 | 只看该作者
我想知道这个怎么搞的LWIP做的网页服务器,
我会建立个TCP服务器,我直接用tcp发送电脑,用浏览器看都可以,http头不发也可以,
网页服务器怎么实现的啊.

使用特权

评论回复
14
logokfu|  楼主 | 2012-3-23 16:52 | 只看该作者
我想知道这个怎么搞的LWIP做的网页服务器,
我会建立个TCP服务器,我直接用tcp发送电脑,用浏览器看都可以,http头不发也可以,
网页服务器怎么实现的啊. ...
相信哥咯 发表于 2012-3-23 16:25


LWIP其实就是个精简版的TCP/IP。专门用于嵌入式系统。比如路由器一般都会有个网页管理界面,里面的那个网页可以是基于asp,perl或者其他语言的,等等或者内容比较复杂,一时半会儿我也说不清。

使用特权

评论回复
15
bingye1086| | 2012-5-2 14:27 | 只看该作者
正在学习LWIP下的HTTP,敢问图片中的软件是什么?

4# **kfu

使用特权

评论回复
16
bingye1086| | 2012-5-2 15:32 | 只看该作者
晕死,firebug,看到了
4# **kfu

使用特权

评论回复
17
logokfu|  楼主 | 2012-5-2 16:14 | 只看该作者
正在学习LWIP下的HTTP,敢问图片中的软件是什么?

4# **kfu
bingye1086 发表于 2012-5-2 14:27


火狐浏览器,装个插件firebug就好了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

2646

帖子

7

粉丝