What are the different synchronization types for an Ethereum node? Which of them are client-specific (Geth, Parity)?
Here are the different node sync options (mostly from @Richard's link https://dev.to/5chdn/ethereum-node-configuration-modes-cheat-sheet-25l8):
Synchronizes block headers with a specific protocol, starting from a trusted checkpoint. Supported by both Geth and Parity.
Parity has also a special light sync to do the same light synchronization but starting from the genesis block (block number 0).
This is the default sync mode for nodes so it's most likely supported by all clients (existing and future ones). Verifies all blocks and executes all transactions.
Geth uses a fast synchronization by default for this which doesn't execute all transactions. Once it reaches the current block it continues with a normal full sync.
Parity uses very similar methods to Geth but its fast sync is called warp sync (it has some minor differences).
Similar to a full sync but stores all intermediate states in disk. Takes about ten times more space than a full sync. It seems there are little uses for this synchronization method and almost nobody does it (https://blog.blockcypher.com/ethereum-woes-d9b2af62da67).
Geth and Parity both have this feature; it's called gcmode in Geth and pruning in Parity.