V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
whwq2012
V2EX  ›  问与答

flask 的静态提示 net::ERR_INVALID_HTTP_RESPONSE

  •  1
     
  •   whwq2012 · 2022-04-10 23:04:53 +08:00 · 935 次点击
    这是一个创建于 736 天前的主题,其中的信息可能已经有所发展或是发生改变。

    出问题代码如下,这个网页是个普通的使用了 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 。

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

    12 条回复    2022-04-11 15:35:38 +08:00
    whwq2012
        1
    whwq2012  
    OP
       2022-04-10 23:10:43 +08:00
    这个问题看起来而且也不是浏览器的问题,试了两个浏览器都提示这个问题。。。感觉是 flask 的问题
    Kinnice
        2
    Kinnice  
       2022-04-11 09:37:56 +08:00
    flask 版本(低版本要开启 threading )
    浏览器截图(你试的两个浏览器是 chrome 和 edge?)
    静态资源的那部分代码
    whwq2012
        3
    whwq2012  
    OP
       2022-04-11 10:05:37 +08:00
    @Kinnice #2 我用的是 2.1.1 的 flask 。浏览器测试用的确实是 edge ,但是试了 chrome 和 360 极速也没用
    whwq2012
        4
    whwq2012  
    OP
       2022-04-11 10:15:01 +08:00
    @Kinnice #2 加了 threaded=True 好像也没用
    julyclyde
        5
    julyclyde  
       2022-04-11 10:31:22 +08:00
    那返回的内容到底是啥呢?
    flask 那边对应时间的日志呢?
    whwq2012
        6
    whwq2012  
    OP
       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
        7
    julyclyde  
       2022-04-11 11:05:33 +08:00
    304 没啥问题啊
    whwq2012
        8
    whwq2012  
    OP
       2022-04-11 11:14:44 +08:00
    但是从浏览器这边看,就是没有收到响应的文件
    @julyclyde #7
    julyclyde
        9
    julyclyde  
       2022-04-11 11:43:46 +08:00
    @whwq2012 感觉你的浏览器有问题啊
    既然发出了 if modified since 请求,就应该兼容 304 的应答
    whwq2012
        10
    whwq2012  
    OP
       2022-04-11 12:00:06 +08:00
    @julyclyde #9 用了 360 极速浏览器,谷歌浏览器,edge 都没用啊,刚开始我也以为是浏览器内核版本高于 100 了,但是 360 极速浏览器的内核只有 86 啊
    whwq2012
        11
    whwq2012  
    OP
       2022-04-11 15:32:11 +08:00
    @julyclyde 刚刚我换成低版本谷歌浏览器后,提示 net::ERR_INVALID_HTTP_RESPONSE 的资源会变成 pending ,换成 IE 后就没报过错了。
    whwq2012
        12
    whwq2012  
    OP
       2022-04-11 15:35:38 +08:00
    使用 firefox 的 90 版本也正常。。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5564 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:09 · PVG 16:09 · LAX 01:09 · JFK 04:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.