我为一个嵌入式项目编写了一个小型 Web 服务器,该项目应该为设备提供基于 Web 的 UI。虽然使用 PC 浏览器一切正常,但移动浏览器无法加载与页面关联的所有资源(例如 css/js/图像)。
我的服务器支持不带请求流水线的持久连接。目前我已将最大并行连接数减少到 1,因此一次只响应一个请求。
我的调试观察是,客户端在首先请求 *.html 文件然后是样式表之后,停止请求 header 中列出的任何其他资源。客户端不会断开连接。
您是否知道我可能会犯什么样的错误,PC 浏览器可以容忍而移动浏览器不能容忍?
我刚在网上看到大多数移动浏览器实际上实现和使用流水线。进一步考虑,我认为我当前的实现可能无法处理流水线请求。考虑到我的 STM32 内存不足,我将接收缓冲区重用为发送缓冲区。我会尽快验证...
...不,不管怎么说>>> here <<<,我无法验证适用于 Android 的 Android 标准浏览器、Dolphin 或 Firefox 是否真的在“保持 Activity ”连接上传输它们的请求。
还有一件事......当从 Android SDK 运行模拟器时它工作得很好(至少对于 Android 4.2.2)
请评论您可能需要的任何其他信息。
最佳答案
要在目标平台上节省内存资源,请尝试压缩 HTML、javascript 等。我建议您尝试使用 gzip HTTP compression .对于图像,请尝试使用或制作 .svg(可缩放 vector 图形)图像。然后您还可以压缩 SVG 图像。
关于android - HTTP 服务器实现 : Mobile web browsers (e. g。 Android标准)停止加载页面资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17680619/