Chrome請求出現Provisional headers are shown的幾次經歷

Chrome請求出現"Provisional headers are shown":

項目中遇到個好幾次,分別介紹一下不同的場景:

1. 所有的客戶端的瀏覽器訪問時都一直出現Provisional headers are shown的情況:

處理方式: 檢查該請求觸發的頁面,查看是否有 表單提交 和 ajax請求同時觸發的情況,

例如:定義了一個按鈕,type是submit,另外又給該按鈕定義了一個ajax事件;

這種場景是我們以前開發過程中出現的一種情況


2. 部分客戶端的瀏覽器出現

處理方式:調用chrome的  chrome://net-internals/#events ,然後重新觸發一下請求,然後查看出現 Provisional headers are shown 的請求的日誌;

查看是否存在 delegate_blocked_by 的關鍵字;這種一般是由於瀏覽器端的插件或客戶端的軟件對請求進行了攔截;我們出現的情況,是被 websense endpoint攔截;

如果是這種情況,基本上可以忽略啦,客戶端自身的問題啦;可以考慮將插件或軟件卸載後,重新嘗試,看是否還出現;如果還出現,請看是否屬於以下的情況


3. 所有的客戶端都隨機偶爾出現過這種錯誤,如果是這種情況,往往是屬於服務器端的問題

 處理方式: 基於部署架構來進行排查;例如:我們的部署架構中 關鍵的幾個流程是 nginx----> 網關應用----> F5負載均衡----> 應用服務器(docker)

可以進行層層排查,簡單的方式是直接服務器shell命令 寫一個for循環 curl請求,先調用最下層的應用服務器(如果怕壓力不夠,可以多線程去壓);依次往上去壓;在壓測的過程中,可以實時的去看,是否會出現請求卡住的情況;如果發現,很大的可能行就是這一層的問題:


目前我們遇到的情況有兩塊,一個是F5層面,部分請求未成功負載均衡到應用服務器;還有一種情況是nginx層面出現的卡住的情況;

處理方案:F5層面的負載均衡策略 從 performance L4改成了standard; 

nginx層面卡住的情況處理方案:這種情況沒有實際去參與過,瞭解的情況是修改了nginx的很多配置都沒有效果,最後直接幹掉重裝就好啦,所以也沒有找到關鍵點


記錄一下,希望有所幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章