Kinds of URLSessionTask
Essence
URLSessionTask is an abstract task; the concrete subclasses differ in where the response goes and where the request body comes from. A task is created by a session and started with resume() (the async API does that for you).
The rest of this answer, with code and interview follow-ups, is in the DevPrep app.
Read the full answer in DevPrep