我有一个奇怪的问题。我正在向我本地网络上的调制解调器中嵌入的Web服务器发送HTTP GET请求(嵌入式Web服务器是调制解调器“控制面板”的接口)。当我的桌面计算机或手机发送请求时,服务器会响应HTTP / 1.0响应。但是,当我从笔记本电脑发送请求时,服务器以HTTP / 0.9响应。问题是嵌入式Web服务器的HTTP / 0.9实现是错误的,因此响应头被搞砸了,因此客户端无法理解响应(头部是响应主体的一部分)。无论用于发送请求的客户端如何,都会发生此行为。所以,我的问题是:什么会导致嵌入式Web服务器使用不同的HTTP版本进行响应?
以下是详情:
[注意:我家里没有收到手机信号,因此无法通过数据连接尝试手机]
我已经尝试强制桌面和笔记本电脑的IP地址相同(显然,在此过程中断开一个或另一个),以防嵌入式Web服务器以某种方式键入传入请求的IP地址以确定要响应的HTTP版本。
当然,我绝对没有HughesNet的技术支持。我曾尝试在网上查找有关WindWeb嵌入式网络服务器的文档,但没有找到任何内容。
笔记本电脑没有任何问题从任何其他网络服务器获得“合理”的回复......所以我倾向于认为问题出在调制解调器中的嵌入式网络服务器上。但是,由于嵌入式网络服务器响应错误的HTTP / 0.9响应似乎只发生在我的笔记本电脑发送请求时,无论客户端发出请求是从笔记本电脑发出的,我都要认为问题有关在笔记本电脑上有一些网络设置,但我无法想象什么设置会影响嵌入式服务器响应的HTTP版本。
任何人都可以帮忙吗?无论是直接解决方案还是其他我应该检查的东西?是否有关于3台机器,它们的连接或其他任何有助于诊断问题的信息?
答案 0 :(得分:0)
大多数客户端都会发送一个客户端字符串来标识自己,例如Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20120602 Iceweasel/3.5.16 (like Firefox/3.5.16)
。一些损坏的服务器使用它来调整内容。例如,我的uni文件服务器不允许我用wget下载一些css文件(这很有趣),除非我用-U ""
调用wget来发送空客户端字符串。