簡體   English   中英

“ http:多重響應。WriteHeader調用”的不良影響是什么?

[英]What's the bad effect of “http: multiple response.WriteHeader calls”?

我的服務器運行良好,盡管我發現“ http:多重響應.WriteHeader調用”例外。 此異常不會導致我的服務器出現恐慌或怪異的行為。

我進行了很多搜索,但只找到了解決該問題的方法。 沒有文檔描述異常的不良影響。 有人可以幫我找到原因,為什么“ http:多重響應.WriteHeader調用”是一個異常,它引起的不良影響是什么? 提前致謝。

更新

在這里閱讀了源代碼:

在此處輸入圖片說明

WriteHeader調用WriteHeader ,僅打印日志,然后不執行任何操作。 似乎多次調用WriteHeader不會導致服務器異常運行。

在將響應標頭發送到客戶端之前,您只能編寫一次。 因為您的代碼在發送給客戶端之后正在嘗試編寫響應標頭,所以客戶端將永遠不會看到您嘗試發送的最終響應。

您可能會遇到一個錯誤,即客戶端得到錯誤的響應,然后您對該錯誤進行了以后的修訂,或者您遇到了一個錯誤,即在編寫了正確的響應頭之后執行了錯誤的代碼。 無論哪種方式,它都是一個錯誤。

不利的影響是實際結果很可能與您期望的結果不同。 如果在第10行上調用WriteHeader(200) ,然后在第50行上調用,則在同一ResponseWriter上調用WriteHeader(404) ,您期望響應代碼是什么? 404還是200

WriteHeader忽略后續調用,並通過記錄該消息來告訴您有關此消息的信息,這樣,當您獲得200而不是您可能期望的404 ,您只需查看服務器日志即可知道發生了什么。 該消息在那里可以為您提供幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM