http之100-continue(转)

Posted 极客先锋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http之100-continue(转)相关的知识,希望对你有一定的参考价值。

1、http 100-continue用于客户端在发送POST数据给服务器前,征询服务器情况,看服务器是否处理POST的数据,如果不处理,客户端则不上传POST数据,如果处理,则POST上传数据。在现实应用中,通过在POST大数据时,才会使用100-continue协议。

  2、客户端策略。

    1)如果客户端有POST数据要上传,可以考虑使用100-continue协议。加入头{"Expect":"100-continue"}

    2)如果没有POST数据,不能使用100-continue协议,因为这会让服务端造成误解。

    3)并不是所有的Server都会正确实现100-continue协议,如果Client发送Expect:100-continue消息后,在timeout时间内无响应,Client需要立马上传POST数据。

    4)有些Server会错误实现100-continue协议,在不需要此协议时返回100,此时客户端应该忽略。

  3、服务端策略。

    1)正确情况下,收到请求后,返回100或错误码。

    2)如果在发送100-continue前收到了POST数据(客户端提前发送POST数据),则不发送100响应码(略去)。

  参考RFC文档:http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3

以上是关于http之100-continue(转)的主要内容,如果未能解决你的问题,请参考以下文章

哪些浏览器会发送 expect: 100-continue 标头?

HTTP 报文 之 HTTP 状态码

HTTP POST 发送JSON格式数据(解决Expect:100-continue 问题)

HTTP状态码

http常见状态码

http状态码