「服務器提交了協議衝突.Section=ResponseHeader Detail=CR 後面必須是LF」的一些疑問

程序要下載「http://www.infzm.com/voice」這個頁面的時候執行到圖1-1紅框那段代碼的時候html

提示:服務器提交了協議衝突.Section=ResponseHeader Detail=CR 後面必須是LF服務器

image

圖1-1.net

若是你的是C#編寫的程序,能夠在config文件中加入圖1-2紅框中的代碼,問題解決了。解決辦法來源:「http://blog.csdn.net/mingwar/article/details/5870431htm

image

圖1-2blog

百度了一下CR與LFget

CR等於回車(\r),LF等於換行(\n)it

在HTTP協議中HTTP Header請求信息中的每一行都必須是在CRLF來結束。io

服務器檢測到你提交的請求不符合HTTP協議的這個規定,因此拒絕了你的請求。百度

在「HTTP Header 詳解」這篇文章中大概瞭解到http header內容的大致分爲Request和Response兩部分。下載

又在「深刻理解HTTP協議」中的「1.6頭域」章節的配圖四、5中瞭解到不管是http header的請求(Request)信息,仍是響應信息(Response)信息都必須遵循「CRLF結束」這個規定。

因此就很好奇到底是哪個部分產生出了不符合HTTP協議的格式的信息,是在http header的請求(Request)部分,仍是響應信息(Response)部分呢?

是我提交的header的格式沒有按照「CRLF結尾」的規定,仍是服務器根據我提交的heaer所產生的響應header沒有按照「CRLF結尾」的規定?

從圖1-1中異常信息中的關鍵字是ResponseHeader,經過這個關鍵字我找到了「HTTP Response Header Fields

未完待續。。。。對HTTP協議有點興趣了,哈哈 前不久我還買了本《HTTP權威指南》,我以爲這本書應該能解答我一點疑問,就算不能,也能讓我對HTTP協議的一些細節有個大概的瞭解,惋惜恰好遇到這個問題的時候,這本書不在身邊。

相關文章
相關標籤/搜索