flask 的静态提示 net::ERR_INVALID_HTTP_RESPONSE

2022-04-10 23:04:53 +08:00
 whwq2012

出问题代码如下,这个网页是个普通的使用了 jinja2 的 html 页面,其中引用了一堆 js 资源

<script src="/common/js/thirdparty/tmpl.min.js" type="text/javascript"></script>
<script src="/common/js/thirdparty/json2.js" type="text/javascript"></script>
<script src="/common/js/common.js?v=1" type="text/javascript"></script>
<script src="/common/js/tab.js" type="text/javascript"></script>
<script src="/www/js/forum.js" type="text/javascript"></script>
<script src="/www/js/threads.js" type="text/javascript"></script>
<script src="/common/js/thirdparty/jquery.base64.js" type="text/javascript"></script>
<script src="/common/js/thirdparty/jquery.cookie.js" type="text/javascript"></script>

而网页在刷新后会有随机资源提示 net::ERR_INVALID_HTTP_RESPONSE ,如图所示 在我不断刷新网页后,目前确定的问题的触发条件为,资源只要是以缓存形式加载的,就有概率触发,而假如强制刷新网页则不会出现任何资源提示 net::ERR_INVALID_HTTP_RESPONSE 。

我看了一天了,实在是没有头绪,希望有大佬帮忙看看

1126 次点击
所在节点    问与答
12 条回复
whwq2012
2022-04-10 23:10:43 +08:00
这个问题看起来而且也不是浏览器的问题,试了两个浏览器都提示这个问题。。。感觉是 flask 的问题
Kinnice
2022-04-11 09:37:56 +08:00
flask 版本(低版本要开启 threading )
浏览器截图(你试的两个浏览器是 chrome 和 edge?)
静态资源的那部分代码
whwq2012
2022-04-11 10:05:37 +08:00
@Kinnice #2 我用的是 2.1.1 的 flask 。浏览器测试用的确实是 edge ,但是试了 chrome 和 360 极速也没用
whwq2012
2022-04-11 10:15:01 +08:00
@Kinnice #2 加了 threaded=True 好像也没用
julyclyde
2022-04-11 10:31:22 +08:00
那返回的内容到底是啥呢?
flask 那边对应时间的日志呢?
whwq2012
2022-04-11 10:42:09 +08:00
@julyclyde #5
就是没有返回的内容。

<img src="https://s1.ax1x.com/2022/04/11/LEUVED.png" alt="" />
正常的请求返回是这样的
<img src="https://s1.ax1x.com/2022/04/11/LEUWx1.png" alt="" />


flask 的返回内容全是类型的 304
<img src="https://s1.ax1x.com/2022/04/11/LE3el8.png" alt="" />
julyclyde
2022-04-11 11:05:33 +08:00
304 没啥问题啊
whwq2012
2022-04-11 11:14:44 +08:00
但是从浏览器这边看,就是没有收到响应的文件
@julyclyde #7
julyclyde
2022-04-11 11:43:46 +08:00
@whwq2012 感觉你的浏览器有问题啊
既然发出了 if modified since 请求,就应该兼容 304 的应答
whwq2012
2022-04-11 12:00:06 +08:00
@julyclyde #9 用了 360 极速浏览器,谷歌浏览器,edge 都没用啊,刚开始我也以为是浏览器内核版本高于 100 了,但是 360 极速浏览器的内核只有 86 啊
whwq2012
2022-04-11 15:32:11 +08:00
@julyclyde 刚刚我换成低版本谷歌浏览器后,提示 net::ERR_INVALID_HTTP_RESPONSE 的资源会变成 pending ,换成 IE 后就没报过错了。
whwq2012
2022-04-11 15:35:38 +08:00
使用 firefox 的 90 版本也正常。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/846149

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX