Pre-requisites for calling Getwork
Most miners now use Stratum, but the old getwork protocol isn't completely gone yet.


The URL is the root path (/) of the server usually at port 8332, for instance http://mint.bitminter.com:8332. You can see what the data looks like here: How can I code a Bitcoin JSON-RPC &quot;getwork&quot; request in Java?
No, this is JSON-RPC. It's an RPC-style interface, which is more or less the opposite philosophy to REST. It's not even a good RPC design as the same procedure "getwork" is used both for getting work and for returning work results.
HTTP Basic Auth is used for authentication. If you are talking to bitcoind you put the user name and password in the config file. If you are talking to a pool you register at the pool.


There is some info about getwork and its various extensions at https://en.bitcoin.it/wiki/Getwork