“服务器提交了协议冲突.Section=ResponseHeader Detail=CR 后面必须是LF”的一些疑问...

程序要下载“http://www.infzm.com/voice”这个页面的时候执行到图1-1红框那段代码的时候

提示:服务器提交了协议冲突.Section=ResponseHeader Detail=CR 后面必须是LF

image

图1-1

如果你的是C#编写的程序,可以在config文件中加入图1-2红框中的代码,问题解决了。解决办法来源:“http://blog.csdn.net/mingwar/article/details/5870431

image

图1-2

百度了一下CR与LF

CR等于回车(\r),LF等于换行(\n)

在HTTP协议中HTTP Header请求信息中的每一行都必须是在CRLF来结束。

服务器检测到你提交的请求不符合HTTP协议的这个规定,所以拒绝了你的请求。

在“HTTP Header 详解”这篇文章中大概了解到http header内容的大体分为Request和Response两部分。

又在“深入理解HTTP协议”中的“1.6头域”章节的配图4、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协议的一些细节有个大概的了解,可惜刚好遇到这个问题的时候,这本书不在身边。

转载于:https://my.oschina.net/EricWe/blog/126844

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值