curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder Daniel himself.

Strange behavior of Expect 100 Continue

From: \[Quipsy\] Markus Karg via curl-library <curl-library_at_lists.haxx.se>
Date: Mon, 3 Feb 2025 13:31:22 +0000

In a rather simplisic application I noticed the following, rather strange behavior. I hope that anyone could help us with the following.

The application is using curl easy API to create a curl instance, sends a request, closes the instances, then does the same again, etc. - which is working PRETTY WELL but rather slow.

In an attempt to speed up things we wanted to reuse the existing http/1.1 connection, so we removed the closing and reinitializing of curl between each http invocation.

But now the second invocation gets "100 Continue" response instead of "200 OK"...?!
...
Connected to localhost<http://localhost> (::1) port 8080 (#0)
Server auth using Basic with user 'XXX'
>>>STATUS FORWARDED TO CALLING APPLICATION NOW IS: HTTP/1.1 200 OK
Mark bundle as not supporting multiuse
Connection #0 to host localhost<http://localhost> left intact
Found bundle for host localhost<http://localhost>: 0xcbc6d8 [serially]
Can not multiplex, even if we wanted to!
Re-using existing connection! (#0) with host localhost<http://localhost>
Connected to localhost<http://localhost> (::1) port 8080 (#0)
Done waiting for 100-continue
>>>STATUS FORWARDED TO CALLING APPLICATION NOW IS: HTTP/1.1 100 Continue
...

What we do not understand is:


  * Why is the result of the second invocation "100 Continue" instead of "200 OK"?


  * Why does it work well once we close curl and reinit it between both invocations (which is the workaround we currently do)?

Thanks in advance!
-Markus


-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2025-02-03