What are the different internet connection types used by ifconfig and ipconfig? Typing ifconfig on the command line gives me listings for several devices. I've seen at least the following ones: 


lo0
gif0
stf0
en0
en1
en2
en3
p2p0
awdl0
bridge0


What specifically do each of them refer to? I know en0 is a wireless connection, en3 is a connection using a Thunderbolt-to-ethernet adapter, and en1 is an ordinary ethernet connection. What about the rest?
These are properly known as BSD names, so you can look at the BSD / Darwin source code to see what these mean. 


en is Ethernet
lo is loop back or local host 
awdl is air drop peer to peer (a type of mesh network)
bridge is a connection between networks 
p2p is sometimes a virtualization link and also some people have reported it being used with AirDrop before that changed to be awdl0


The numbers added to the end just increment as you add a second interface of the same type. The rest are tunneling interfaces for VPN and bridging between IPv4 and IPv6:


see Ian's answer on question Unexpected interfaces in ifconfig