最近用flask寫了一個(gè)網(wǎng)站,出現(xiàn)了比較詭異的問(wèn)題,訪問(wèn)頁(yè)面的時(shí)候,經(jīng)常會(huì)有些js或者css文件無(wú)法正常加載,查看瀏覽器控制臺(tái)文件報(bào)錯(cuò):net::ERR_INVALID_HTTP_RESPONSE
刷新頁(yè)面以后,可能又會(huì)正常訪問(wèn),單獨(dú)訪問(wèn)某個(gè)報(bào)錯(cuò)的文件,訪問(wèn)又正常,換了360瀏覽器,測(cè)試還是會(huì)隨機(jī)出現(xiàn)報(bào)錯(cuò)。
一開始以為是自己本地配置有什么問(wèn)題,但對(duì)比了另外一個(gè)flask項(xiàng)目以后,發(fā)現(xiàn)配置都一樣的。
經(jīng)過(guò)幾天測(cè)試發(fā)現(xiàn)資源只要是以緩存形式加載的,就有概率觸發(fā),而強(qiáng)制刷新網(wǎng)頁(yè)則不會(huì)出現(xiàn)任何資源提示 net::ERR_INVALID_HTTP_RESPONSE 。
最后懷疑是flask版本問(wèn)題,把flask從2.1.2降到和另外一個(gè)版本一致2.0.2還是一樣的問(wèn)題。
網(wǎng)上找了下原因,說(shuō)的是多線性的問(wèn)題,最新版的werkzeug會(huì)谷歌瀏覽器訪問(wèn)會(huì)有這個(gè)問(wèn)題。
于是我也把werkzeug從2.12降到2.0.2測(cè)試就正常了。
需要注意的是,pip3 install flask 會(huì)以依賴的方式安裝werkzeug,而且是最新版本。
我通過(guò)pip3 uninstall flask 卸載flask的時(shí)候,并沒有卸載werkzeug。所以第一次降低flask的版本,并沒有解決問(wèn)題。
手動(dòng)卸載flask werkzeug以后,要先安裝 werkzeug再安裝flask。
pip3 install Werkzeug==2.0.2 pip3 install Flask==2.0.2
2022年5月11日 下午5:38 沙發(fā)
感謝,正好遇到這個(gè)問(wèn)題