Forum Discussion

Abhishek_RajS's avatar
Abhishek_RajS
Copper Contributor
Sep 24, 2024

Chunked data through IIS

I am trying to chunk data through iis but it is not happning I tried

<rewrite>
            <outboundRules>
            <!-- <rule name="Remove Content-Length" stopProcessing="false">
                   <match serverVariable="RESPONSE_Content-Length" pattern=".*" />
                   <action type="Rewrite" value="0" />
               </rule> -->
                <!-- <rule name="Add Chunked Encoding" patternSyntax="ECMAScript">
                    <match serverVariable="RESPONSE_Transfer-Encoding" pattern=".*" />
                    <action type="Rewrite" value="chunked" />
                </rule> -->
 
and
 <rule name="Transfer-Encoding chunked">
                    <serverVariables>
                        <set name="RESPONSE_Content-Length" value="" />
                        <set name="RESPONSE_Transfer-Encoding" value="chunked" />
                    </serverVariables>
                    <action type="CustomResponse" statusCode="200" />
                </rule>
and 
<httpProtocol allowKeepAlive="false">
            <customHeaders>
                <!-- <remove name="Content-Length" />
                <add name="Transfer-Encoding" value="chunked" /> -->
                 <add name="X-Content-Type-Options" value="nosniff" />
            </customHeaders>
        </httpProtocol>
in these cases in response header transfer-encoding is coming as chunked but response body is not coming
    • Abhishek_RajS's avatar
      Abhishek_RajS
      Copper Contributor

      HridayDutta 

      I have already tried the things mentioned in the article It is not working actually when content length is not sent in header then body of message is not coming .In postman response code is coming as 200 ok

      but there is no body for the message and when  body is coming content length is also coming which idealy should not i.e I have put the configuration that I have used to perform this

  • Parece que estás luchando con la configuración de IIS para la codificación fragmentada. Uno de los problemas principales podría ser que aunque hayas configurado los encabezados correctamente, IIS no está fragmentando el contenido del cuerpo de la respuesta.

    Aquí hay algunos puntos a considerar:

    1. **Salida Buffering**: Asegúrate de que el buffering de salida esté deshabilitado en tu aplicación. Algunas tecnologías como ASP.NET habilitan el buffering de salida de manera predeterminada.

    2. **Versión de IIS**: La versión de IIS y la configuración específica de tu aplicación pueden influir en cómo se manejan las respuestas fragmentadas.

    3. **Configuración del Protocolo HTTP**: Revisa tu configuración de `httpProtocol` para asegurarte de que todas las configuraciones relacionadas estén correctamente definidas.

    4. **Reglas Personalizadas**: Verifica si hay otras reglas o módulos en IIS que puedan estar interfiriendo con la codificación de transferencia.

    Como un ejemplo simplificado de cómo podrías definir las reglas de salida y asegurarte de la codificación fragmentada:

    ```xml
    <rule name="Transferencia de codificación fragmentada">
    <serverVariables>
    <set name="RESPONSE_Content-Length" value="" />
    <set name="RESPONSE_Transfer-Encoding" value="chunked" />
    </serverVariables>
    <action type="Rewrite" url="{R:0}" />
    </rule>
    <httpProtocol allowKeepAlive="false">
    <customHeaders>
    <add name="X-Content-Type-Options" value="nosniff" />
    </customHeaders>
    </httpProtocol>
    ```
    Espero esto te pueda servir, me será de gran ayuda saber una respuesta

Resources