This depends on whether you are running the server from (x)inetd or as a standalone server.
A standalone server listens to connections coming in to the computer, Apache usually listens to port 80 since that is the HTTP's port. When another computer establishes a connection to the right port, your operating system sends the packets to the server program, in this case Apache. Apache then reads the request and exracts the most important parts from the request and then it starts processing it. When it has the complete page, it sends it back to the client via the same socket as the client sent the request through.
In inetd mode, the server itself doesn't have to listen to the ports. inetd does that for you. When a packet is addressed a port that is in the inetd config file, inetd calls the program and sends the packets to standard input. Then all the server has to do is to read and process the request and then print to standard output. Writing servers for use with inetd is much easier, since you only have to deal with standard input and output.
//Daniel