Unfortunately the time you get to the point of even valid HTTP responses it will look less like a SNES and more like whatever-you-plugged-into-a-snes-for-power. E.g. the original Family Computer Network System addon already had more RAM and CPU power than the original console it attaches to just to interface as a modem at all, let alone something "basic" like CGI.
The Wii is probably the first Nintendo console where all the hardware you need to do this is fully built in (though maybe the Nintendo DS, depending how much you're willing to try to get Linux + your server to fit in memory without plugging in a RAM expansion pack to the GBA slot).
This leads to an interesting philosophical debate about where the line to "cheating" is. I'd imagine the NES is more than capable of handling HTTP. I own a small managed network switch with a Web UI (and CGI) all running on an 8051 built into the switch ASIC, and if that can do it, it doesn't seem like such a far fetch that the NES can. The hard part is storage and I/O.
This is purely theoretical, but a 6522 could be used to bitbang SPI, opening the possibility of adding an SD card and Ethernet controller (with a chip like the Wiznet W5500). Add a small amount of SRAM (~16/32Kbit) and a loader ROM, and you'd be able to make the NES into a workable general purpose computer using only the cartridge slot. If needed, one could steal an interrupt from the expansion slot.
Admittedly, this could still be considered "cheating" because the W5500 has a built-in TCP/IP stack, but personally I would feel comfortable saying the NES is hosting the site.
I feel like this would definitely be possible. I was reminded of https://mitxela.com/projects/kiloboot, which uses an ENC28J60 for the ethernet stuff. I feel like you could probably quite easily bitbang SPI, given it's quite a forgiving protocol, just dedicate a couple of addresses in the memory space to interact directly with the bus (maybe with a separate shift register chip if you want to make things a bit easier). If you give up writing anything to the screen, I'd imagine you could just spin until something happened on the ethernet side, then read the requested path, pull some data off the ROM that corresponds to that path and send it back again
> The Wii is probably the first Nintendo console where all the hardware you need to do this is fully built in
Even though accessories were required, you could probably do this with both the N64 Disk Drive or GameCube network adapter. Both were network interfaces that still dispatched to the underlying system.
The N64 Disk Drive [1] would be a fun case, because the storage medium is a glorified floppy disk drive. It does connect over a modem, so there'd be some fun middleware.
The Super Nintendo had a network adapter as well, and both the NES and SNES [2] had satellite networking adapters in Japan. IIRC, there was also a network adapter for the Game Boy. I'm not sure how or if those would work, or how much control was surrendered to the hardware/software of the network adapter itself to let it do all the driving.
My original post was from work, and when I tried to find a reference, I was blocked from following any links! Think they recently instituted a policy...
So I finally do the lookup from home, and what do I find at the bottom of the first page, but a link to YOUR REPLY!
Yeah, the DS probably is the first one that has enough inbuilt support since it has support for Wi-Fi out of the box although Linux seems a bit heavyweight for this perhaps(?)
DSLinux exists but you need the RAM expansion cartridge. from what I found it supports networking but you've only got 8MB minus the space used by the system. and an ancient binary-only toolchain to wrangle with
DSLinux absolutely runs in 4 MB (i.e. w/o a RAM expansion pack), it's just going to take a bit of work to also fit the web server + whatever CGI they wanted without a pack.
The EZ-Flash V 3-in-1 actually added a whopping +16 MB (128 Mb) of PSRAM! Growing up I only ever had the +8 MB pack from Opera... what a weird bit of history that browser port was :).
I wouldn't say uClinux was any less Linux, over time its features even merged to mainline in the 2.x series, including the ability to run MMU-less in version 2.5.46 https://lwn.net/Articles/14823/
The EZ-Flash V 3-in-1 also had either 64 MB or 128 MB of NOR flash (depending on the revision) in addition to the 16 MB of PSRAM. There was also some battery backed SRAM for save data.
The Wii is probably the first Nintendo console where all the hardware you need to do this is fully built in (though maybe the Nintendo DS, depending how much you're willing to try to get Linux + your server to fit in memory without plugging in a RAM expansion pack to the GBA slot).