I’m a little new to comet-esque requests, so please speak up if I’m making too much work for myself and should be using a library or some other method.
Basically this is my situation: I have a page that sets an <iframe> element’s src attribute to a php script. The PHP script streams the response with the following headers:
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: multipart/x-mixed-replace
This works famously in safari! However, firefox closes the connection after a couple of seconds. How do I fix this? I’ve examined the responses for the script for both browsers and the responses are identical otherwise (up to the point that Firefox closes the connection.)
Awesome update: Firefox hates the “Content-Type: multipart/x-mixed-replace”. Once this is removed it works in Firefox.
Isn’t there a better way to do this kind of thing?
The solution here is to send
Content-Type: multipart/x-mixed-replaceto Safari but not to Firefox.For reasons I don’t fully understand, Firefox will disconnect from the server after a few seconds if this header is present in the response. Firefox will handle a streaming response just fine otherwise.
To implement this, I simply added a check for the user agent in the code as such: