What's the IPC mechanism between Nginx and backend server?

Nginx transfers requests to other backend servers, such as Thin(Ruby server), or Node.js server, or Tomcat, then What's the IPC mechanism between them?

Shared memory? Socket (even in same machine)? Pipe? Standard IO? (For CGI or FastCGI, it is)

Or something else?

Depending on your setup, it my use Unix Sockets or TCP.

This will use TCP:

upstream my_site {
  server 127.0.0.1:9292;
}

This will use Unix Socket:

upstream my_site {
  server unix://path/to/socket;
}