Meine Standardlitanei: der Arduinio ist zu schwach als Webserver.
Verdacht hier: RAM reicht nicht weil zuviel Platz durch die Strings verbraucht wird. Google mal nach PROGMEM und schau Dir das F Makro an, also statt ...print("bla"); bessser ....print(F("bla"));
Eine ganz kurze Erklärung habe ich auch in meinem Blog Persistence of Vision | Blinkenlight
Keine Ahnung ob das Stringproblem wirklich die Ursache ist, aber solange dieses Problem da ist würde ich gar nicht erst nach anderen suchen.