-
Notifications
You must be signed in to change notification settings - Fork 181
Default header receive buffer size CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 too small #52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
The 554 byte header size referenced in the original post uses a plain old HTML5 form with a method="post". Out of curiosity, I also captured a Wireshark trace that employs a Javascript XMLHttpRequest to send data to the ESP32. Writing a quick test page a Javascript XMLHttpRequest currently uses a 495-byte header (just under 512) - again using the Chrome browser. If the Chrome team makes a small change, sayonara. The Javascript test code used:
The Wireshark trace captured this header: Host: 192.168.4.1\r\n See packet 1 in the Wireshark trace screen snapshot below.... |
This problem has been talked about for years in various forums. Will it ever get fixed? Until this is fixed, a server using arduino-esp32 that implements any web page buttons will fail when the client browser is Chrome or Edge. It works with Firefox and the (obsolete) Internet Explorer, but a that's not a requirement you can impose on users. Please help, or we need to abandon the Arduino IDE! |
Done. Sorry for the delay :) |
Wonderful, thanks! When will the change appear in espressif/arduino-esp32 so we can use it? |
Next time that there is something new in ESP-IDF v4.4, the lib-builder will rebuild and create PR to arduino-esp32. When we merge that PR, it will be available through git. |
Hi, |
Hi @Patsjemoe , did you have any luck sorting this? I'm hitting the exact same issue. Cheers, Donal |
I believe it was fixed in version 2.0.4 of the Espressif Arduino core at https://github.com/espressif/arduino-esp32. I see they're up to 2.0.5 now. |
The default in build for the sdkconfig configuration parameter is:
CONFIG_HTTPD_MAX_REQ_HDR_LEN=512 (bytes).
On Google Chrome latest version running on MacOS on the latest Catalina OS:
using Wireshark trace - shows the "post" header is 554 bytes long (not incl. CR/LF)
It needs to be set at least 768 bytes, but 1024 would be better.
See details here:
https://github.com/espressif/arduino-esp32/issues/5969
The text was updated successfully, but these errors were encountered: