This is the same question as a little while before, replacing Silveright with WPF. Basically the same answer is true but there's a bit less built in to make it easier for you; you still need to make requests to a server which the client has nothing to do with. You also have the full power of the .Net framework at your disposal, while Silverlight only has a smaller sub-set (not really subset but I guess you could say that). Which means the client will only need to have .Net framework installed.
As for the server the client can connect to, it could be anything but it really depends on what you do with it. If you want to serve generic files or standard web services, yes, any web server can do that. It's up to the client (WPF application) to interpret the data it receives from the server.
You will be generally restricted to Windows OS's when using WPF, see the other answers.
However, WPF browser applications (BAPs) are not really that great a technology (might have matured a bit more since last I looked at it though, which was a fair time ago); if the user must install it on his computer then why bother putting it in a browser at all? Deploy it via click-once or something.