Options

disable chunking client side?

Posted by jmaddox

HTTP::version "1.0" should turn off chunking on the server. Is there a way to turn off http chunking for the client side connection?

Comments

  • Options
    edited February 2014
    Posted by ddesmidt

    I assume your question is:
    My client is with the default settings (HTTP1.1 + HTTP compression support)
    and you want to know if AX will send the object in "chunked mode" or with the "Content-Length".

    There are multiple answers to that question based on your AX configuration.

    Case1: AX VIP type TCP.
    In that case, AX doesn't "work on Layer7", so obviously:
    If the server sent the object in chunked mode (very rare), the client will receive it in chunked mode.
    If the server sent the object with the Content-Length (no chunked mode), the client will receive it with the Content Length (no chunked mode).

    Case2: AX VIP type HTTP without compression.
    In that case, AX "works on Layer7", but since AX doesn't change anything on the payload (object):
    If the server sent the object in chunked mode (very rare), the client will receive it in chunked mode.
    If the server sent the object with the Content-Length (no chunked mode), the client will receive it with the Content Length (no chunked mode).

    Case3: AX VIP type HTTP with compression.
    In that case, AX "works on Layer7" and AX does change the payload (object) when it does compression.
    A payload of 100kbytes received may be compressed to a payload of 2kbytes but it could also be 5kbytes. There is no way to know before the end of the compression. AX compresses "on the fly" for best performance => AX has no clue how big will be the payload at the end of the compression when it starts sending the first packets. So:
    If the server sent the object in chunked mode (very rare), the client will receive it in chunked mode.
    If the server sent the object with the Content-Length (no chunked mode), and AX do not compress the object: the client will receive it with the Content Length (no chunked mode).
    If the server sent the object with the Content-Length (no chunked mode), and AX do compress the object: the client will receive it in chunked mode.
    Note: There is no way to configure AX to send it without chunked mode. This would force AX to buffer the whole object before sending the first bytes => this would
    . slow the response time
    . may consume a lot of RAM if AX has to buffer large objects

    Case4: AX VIP type HTTP without compression but with an aFleX that changes the payload
    In that case, AX "works on Layer7" and AX does change the payload (object).
    But AX buffers the whole object first, does the changes, and sends the object. So AX knows how big is the new object. So:
    If the server sent the object in chunked mode (very rare), the client will receive it with the Content Length (no chunked mode).
    If the server sent the object with the Content-Length (no chunked mode), the client will receive it with the Content Length (no chunked mode).

    Dimitri
Sign In or Register to comment.