To the average user, the process seems like magic: paste a link, click a button, and receive a file. Technically, however, the process involves a complex series of steps: