Yes, I had a look at the wiki.
The first one is only in mining.subscribe, and is a subscription id - just ignore it.
Target is not supported by anything for mining.set_difficulty, as far as I know.
Why do we send mining.set_difficulty in this case? Only to show the client we support this method?
I saw other examples that don't do it, only send back mining.notify. I guess the mining.notify subscription id is useful to resume the connection if it drops (I can't find now the method used by the client to do so, but I'm sure I saw it once).
And I can't think of any use case of the mining.set_difficulty subscription id. What was the original idea behind it?
In this case the default difficulty is 1 until the server sets a higher one, right?
In the end wouldn't it make much more sense to set the difficulty per worker if we already support multiple workers per connection?