It's always client/server asymmetric communication. Server supports QueryExtension and ListExtensions commands. You can see extensions supported by your X server with xdpyinfo command.
(see www.x.org/releases/X11R7.5/doc/x11proto/proto.html specification for further details)