(as of 2021/January)
Protocols for third party copy operations in the Grid can be gsiFTP and WebDAV(s) (unsure what the current status of the xrootd support is for tokenized TPCs - as of 2021.Jan). Since SRM as meta-protocol is intended to be phased out, the protocols will probably be used directly. gridFTP supports natively TPC,where the data channel and the control channel can be separate, so that a server can initiate through the control channel a data transfer between two other FTP endpoints- howver FTP is being deprecated as such, so that its future is bleak.
HTTP/DAV and xrootd do not support directly TPCs and (natively) undertsand only direct connections between a server and a client. But with FTS etc. one would like to initiate data transfers between two storage pools in the Grid managed from a central instance.
E.g., FTS3 wants to transfer a file from storage at DESY to KIT and opens a control channel to each Storage Element.
Let's say, the DESY SE keeps the file on its pool DESY_314 and KIT's SE reserves space on its pool KIT_161. Delegated through each SE, FTS then either instructs DESY_314 to (push) copy the file to KIT_161 or instructs KIT_161 to (pull) copy the file from DESY_314.