I'm working with an IoT device that has an embedded HTTP Server that returns csv formatted status data. Everything works fine between my data collector app and the IoT device in terms of communications - I make a request and the server returns data, no big deal.

However, the request fails when I attempt to connect to the server with a Web Browser due to the fact that the IoT device does not return any HTTP Response Headers and, apparently, modern Web Browsers reject packets that have no/malformed Response Headers.

I've been told by users of this IoT device that "web browser connections used to work". My guess is that Web Browsers over the years have become stricter on how they handle Response Headers.

Since I have no way of updating the IoT device's HTTP Response Headers, I'm stuck with having to find a solution on the browser side.

I've searched for Flags/Settings in Chromium and Firefox that would allow malformed Response Headers, but to no avail. I've also tried using the ModHeader plugin to manipulate the Response Headers, but that doesn't solve the problem (ModHeader manipulates the response header AFTER the browser has already rejected the response).

Do you know of a Web Browser that has a way of ignoring malformed Response Headers? If so what browser(s) and what is the name of the setting?

PS - The errors that are displayed in browser consoles for malformed response headers are:

  • Chromium: Failed to load resource: net::ERR_INVALID_HTTP_RESPONSE (Failed to load response data: No data found for resource with given identifier)
  • Firefox: XML Parsing Error: syntax error
  • Wireshark: Expert Info (Warning/Protocol): Illegal characters found in header name


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.