WebGL, Unity Web Player: local or server?

About WebGL and Unity Web Player, do they run
a. locally on the user’s computer through the browser
b. on a server, sending the output to the user’s browser or
c. in some other way that I don’t understand at all?
And could someone explain in detail what goes on under the hood?
(in layman’s terms, please)

Also any references to articles, etc. about this topic would be useful.

The browser downloads the data files and they are then run locally for WebGL and Web Player. Nothing but sending our files on request is happening on your webserver unless you explicitly added something.