You have failed to mention the specific microcontroller you are utilizing.
Typically Ethernet/WiFi modules fall into two major categories, those with embedded TCP/IP stacks or those which require external software TCP/IP stacks.
Obviously, those requiring a software TCP/IP stack, largely depends on the availability of a software TCP/IP stacks which compatible with your specific microcontroller.
Also, software TCP/IP stacks can require significant system resources, typically Cycles, Flash, RAM and EEPROM storage.
In contrast, those devices with embedded TCP/IP stacks, can require far less system resources as they require only simple commands to configure and receive/transmit data, HTTP pages, etc.
Many of the modules with embedded TCP/IP stacks utilize a standard TTL asynchronous serial interface (UART).
Of course if your microcontroller only has a single UART, you will most likely need to employ an analog multiplexer to switch from one module to another.
There are some modules which offer an SPI interface as well as an embedded TCP/IP stack, if your microcontroller offers an onboard hardware SPI module.
BigDog