Magnet links are at their core, exactly that links. Regular RFC 3986 URIs. An example of one is laid out here.
magnet:
?xt=urn:btih:f5b31b1bd67bf65fe97be298ec7c473cb2e3e201
&dn=elementaryos-5.0-stable.20181016.iso
&tr=https%3A%2F%2Fashrise.com%3A443%2Fphoenix%2Fannounce
&tr=udp%3A%2F%2Fopen.demonii.com%3A1337%2Fannounce
&tr=udp%3A%2F%2Ftracker.ccc.de%3A80%2Fannounce
&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce
&tr=udp%3A%2F%2Ftracker.publicbt.com%3A80%2Fannounce
&ws=http://nyc3.dl.elementary.io/download/MTU1Mjk2ODgxMg==/elementaryos-5.0-stable.20181016.iso
Because it's a URI, characters such as :
and /
must be encoded so a "clean" version of this would look more like this.
magnet:
?xt=urn:btih:f5b31b1bd67bf65fe97be298ec7c473cb2e3e201
&dn=elementaryos-5.0-stable.20181016.iso
&tr=https://ashrise.com:443/phoenix/announce
&tr=udp://open.demonii.com:1337/announce
&tr=udp://tracker.ccc.de:80/announce
&tr=udp://tracker.openbittorrent.com:80/announce
&tr=udp://tracker.publicbt.com:80/announce
&ws=http://nyc3.dl.elementary.io/download/MTU1Mjk2ODgxMg==/elementaryos-5.0-stable.20181016.iso
The majority of these URI parameters are because of the main difference between the Bittorrent protocol and something more common like HTTP. The main part of the URI is a URN, not a URL. What this means is that magnet links do NOT denote the location of a resource, but it's contents.
This is the purpose of the ?xt=urn:btih:f5b31b1bd67bf65fe97be298ec7c473cb2e3e201
.
&dn=elementaryos-5.0-stable.20181016.iso
is the Display Name.
&ws=
is a "Web Seed" which is a regular URL set as a backup in case no seeders exist in the pool.
And the myriad of &tr=
s are a list of trackers.
Trackers are not servers that host content. What trackers track are peers that have the content. When starting the download of a torrent, your client will then contact the trackers in the list provided in the torrent or magnet link are obtain a list of peers to connect to. This operation will also add yourself to the pool.
This will allow your client to contact and connect to other Bittorrent clients that have the contents of the torrent you are looking for already downloaded and will dowload parts from them until the download is complete.
Meanwhile, as you download parts from other clients you will then also be uploading parts you already have to other new peers that do not have the parts you do.
When your torrent is not complete and your download is in progress you are a leecher.
If your torrent is at 100% and you continue to be in the pool and share your parts with others then you are a seeder.