cURL / Mailing Lists / curl-users / Single Mail

curl-users

Re: http/2 multiple post requests

From: Scott Mitchell <scott.k.mitch1_at_gmail.com>
Date: Tue, 7 Oct 2014 18:24:00 -0400

On Tue, Oct 7, 2014 at 5:05 PM, Daniel Stenberg <daniel_at_haxx.se> wrote:

> On Tue, 7 Oct 2014, Scott Mitchell wrote:
>
> Lets reassess the second issue after the first issue is addressed (if
>> necessary).
>>
>
> I can't repeat your problem. I use this command line:
>
> $ curl --http2 --trace-ascii dump https://nghttp2.org/ --next --http2
> https://nghttp2.org/ -d moo >/dev/null
>
> Which I assume is similar to yours as it first makes a simple GET and then
> makes a POST on the same connection after curl re-uses the connection.
>
>
This is not the scenario I described. Let me summarize the scenario:

Request 1: POST (single HEADERS frame, single DATA frame, and no HTTP/1.x
headers to indicate content-length or end of request)
Response 1: 200 status code (single HEADERS frame, no DATA frames, and no
HTTP/1.x headers to indicate content-length or end of response)

Request 2: POST (single HEADERS frame and single DATA frame, and no
HTTP/1.x headers to indicate content-length or end of request)
Response 2: 200 status code (single HEADERS frame, single DATA frame, and
no HTTP/1.x headers to indicate content-length or end of response)

> Attached you can see my 'dump' file, and notably it does not contain the
> "SSLv2, Unknown" weirdness from your invokes and it doesn't show any
> problem with the second request like in your case.
>
>

I'm not sure that the "SSLv2, Unknown" messages are significant in this
case. I just re-configured and re-built openssl to exclude sslv2/sslv3 and
I no longer see these print outs. However I am still observing the same
curl behaviour. I have attached my output after rebuilding openssl. Let
me know if you see any interesting differences in the new output.

> My curl uses this setup: curl 7.38.1-DEV (x86_64-unknown-linux-gnu)
> libcurl/7.38.1-DEV OpenSSL/1.1.0 zlib/1.2.8 c-ares/1.10.1-DEV libidn/1.29
> libssh2/1.4.4_DEV nghttp2/0.6.3-DEV librtmp/2.3
>
>

Here is my curl setup. I'm not sure our openssl difference is meaningful
here but I can try your version of openssl to be sure. I am building from
github...what branch are you using?

curl 7.38.1-DEV (x86_64-unknown-linux-gnu) libcurl/7.38.1-DEV OpenSSL/1.0.2
zlib/1.2.8 nghttp2/0.6.2-DEV
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp
smtp smtps telnet tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP HTTP2

(I hope Tatsuhiro won't mind a gentle beating on his server for this, I
> haven't set up any http2-using server of mine own yet.)
>
>

Is the nghttp2.org setup is a http/2 proxy infront of an nginx server? If
so it may be a good idea to get a http/2 only test setup to test the cases
when the HTTP/1.x headers which are used for framing (i.e. content-length)
can be excluded. That would make verifying this scenario works from a curl
perspective easier ;)

-- 
>
>  / daniel.haxx.se
> -------------------------------------------------------------------
> List admin: http://cool.haxx.se/list/listinfo/curl-users
> FAQ:        http://curl.haxx.se/docs/faq.html
> Etiquette:  http://curl.haxx.se/mail/etiquette.html
>
>


-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-users
FAQ: http://curl.haxx.se/docs/faq.html
Etiquette: http://curl.haxx.se/mail/etiquette.html

  • application/octet-stream attachment: dump2_1
Received on 2014-10-08