Client opens TCP socket connection (by IP address)
Client and server exchange keys, and negotiate secure connection
Client requests URL (including hostname at this point)
Server returns content
The main point to note here is that Apache does not know what hostname you are requesting content from until after the connection is already negotiated. This will be more relevant later.