The HTTP/1.1 spec allows for clients to send an Expect: 100-continue header for large request payloads (8.2.3 Use of the 100 (Continue) Status - Hypertext Transfer Protocol
I know that curl does this for every post request. Was just running over that some time ago.
I also tested that in conjunction with PHP in "How can I stop cURL from using 100 Continue?".