Like CVS, the biggest difference between Git and SVN is that SVN follows a centralized architecture, while Git uses a distributed network. There is one SVN server, and as a client you communicate your changes with it. This in different to Git, where there can be many local copies, and one copy can reside on a central server. This architecture is depicted as follows:
With Git, there are several options to choose from regarding protocol and network settings. Most importantly, you have the choice to communicate with remotes over SSH or HTTP. Using SSH, you wrap Git commands, possibly using certificate authentication, and with HTTP, you implement Git actions using WebDAV and basic HTTP authentication.
SVN has a networking layer that is abstracted, which means that clients exhibit the same behavior, no matter what sort of server they are operating...