On Sat, Sep 8, 2012 at 8:31 PM, Patrick McManus <[email protected]>wrote:

> On 9/8/2012 3:40 PM, Boris Zbarsky wrote:
>
>> On 9/8/12 3:17 AM, [email protected] wrote:
>>
>>> What's the relationship between [HTTP] channels, transactions and
>>> connections?
>>>
>>
>> My understanding, which may not be correct.
>>
>> An HTTP connection corresponds to an actual TCP connection.
>>
>> An HTTP transaction corresponds to an HTTP request/response pair.
>> Multiple transactions can happen on the same connection, either one after
>> another with keep-alive.  I'm not sure how this all works with pipelining,
>> since an nsHttpPipeline implements both the connection and transaction
>> APIs....
>>
>> An http channel is the representation of one HTTP transaction as exposed
>> to the rest of Gecko.
>>
>>
> that's all right. I would add that an http channel is a little bit more
> than a protocol based http transaction. While the http transaction is
> literally a request and response on the wire, the channel might deal with a
> larger set of circumstances, such as a cache hit or it might be a
> transaction plus the work of recording the data in the cache or handling
> the redirect notifications, or authorization prompts, etc..
>
>
cc: Sheppy

I've hacked away at this stuff for years but never seen the differences
between an HTTP connection, HTTP transaction, and HTTP channel (in
Gecko-terms) so precisely described. It would be awesome to put this on
MDC, including the corresponding interfaces of each. I'd be very willing to
do it if someone can point me to an appropriate place?

Eric
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to