If we link against the default Ethernet combo library we can't access the device name before the initialization and we must check explicitly that we found an Uthernet II (with the W5100 chip we rely on here).
In this file there's no access to the W5100 auto-increment registers so there's no need for the special compiler settings. However, with "true" local variables the buffer to read the HTTP header into is better not placed in a local variable.
Note: The heap manager was already active before as both linenoise and the file I/O use it.
LDY <absolute>,X without page-crossing (sort of surprisingly) requires only 4 cycles, so there's after all no need at all to resort to LDY <zeropage>,X to stay inside the 4 cycle budget.