I just uploaded the picture to a wiki page. Please refer to the page if you
don't see the picture on my last email.
https://cwiki.apache.org/confluence/display/TS/QUIC?
preview=/70257417/74684712/Screen%20Shot%202017-10-24%20at%2013.39.21.png

Thanks,
Masakazu

On Tue, Oct 24, 2017 at 1:59 PM, Masakazu Kitajo <mas...@apache.org> wrote:

> For those who are interested in relation between QUICStream and
> HQClientTransaction,
>
> I draw a rough picture to help your understanding.
>
> From protocol perspective, HTTP is on top of TCP or QUIC. From ATS design
> perspective, Transactions are on top of a Session. A difference between TCP
> and QUIC is transport layer multiplexing, QUIC streams.
>
> QUIC applications (e.g. HTTP, DNS, FTP) need to use QUIC streams to
> transfer data (use of multiplexed transport is not optional, applications
> may transfer all data on a stream though). Since current HTTP/QUIC spec
> uses 1 stream for 1 request, we simply mapped Transactions to Streams 1:1.
> However, it was 2 streams for 1 request previously. Number of streams for 1
> request / query is up to QUIC applications.
>
> Also, QUIC applications may use specific streams for specific purpose.
> HTTP/QUIC uses stream 1 for control frames, like stream 0 of HTTP/2, and
> HTTP/QUIC uses even number stream IDs for server initiated streams. So,
> QUIC applications need to be aware of QUIC streams.
>
> As for Session, it's the same as HTTP/1.1 over TCP. QUICConnection and
> ClientSession is 1:1. You can see a QUIC connection as a persistent TCP
> connection.
>
> Thanks,
> Masakazu
>
> [image: Inline image 1]
>

Reply via email to