Content-type: multipart/x-mixed-replace keepalive fails through the Proxy if ICAP scanning is enabled.

Solution

Overview

Content-type: multipart/x-mixed-replace keepalive fails through the Proxy if ICAP scanning is enabled.

Cause
Resolution

The Content-type multipart/x-mixed-replace;boundary= is generally used with IP cameras for M-JPEG over HTTP.
It informs the browser to expect several parts as answer separated by a special boundary.

Anyway, is some (rare) cases is also used as a "keepalive mechanism" . In the following example the client application sends the POST request to the webserver:

POST / HTTP/1.1
Host: griccia.test.com
Cache-Control: no-store,no-cache
Pragma: no-cache
Content-Length: 446
Expect: 100-continue
Connection: Keep-Alive


<xts><request><where name="cust_key" condition="=" value="IQ"><where name="event_id" condition="=" value="11"><where name="event_number" condition="=" value="102905"></where></where><where name="event_id" condition="=" value="30"><where name="event_number" condition="=" value="102905"></where></where><where name="event_id" condition="=" value="40"><where name="event_number" condition="=" value="102905"></where></where></where></request></xts>


The webserver replies with:

HTTP/1.1 200 Trigger request registered.
Server: WebserverTest/1.22.0.0
Connection: Keep-Alive
Content-type: multipart/x-mixed-replace;boundary=MPDLHTS

--MPDLHTS
Content-Type: text/html

--MPDLHTS
Content-Type: text/html

<xts><pong/></xts>--MPDLHTS
Content-Type: text/html

Then at a given time interval it continues with:

<xts><pong/></xts>--MPDLHTS
Content-Type: text/html


Because this is an "endless" response a bypass ICAP policy is required to correctly send the response from the proxy to the client.

<cache>
response.header.Content-Type="multipart/x-mixed-replace" response.icap_service(no)

 

Workaround
Additional Information
Bug Number
InQuira Doc IdKB4896
Attachment

Article Feedback

Did this Article solve your issue?
Additional Comments:
 
Previous MonthNext Month
SunMonTueWedThuFriSat