After, your body needs it especially if you hit a hard workout. Sometimes I mix it up and drink one before a workout then another at night (keep thise midnight cravings in check).
After because that when your muscles are starving for food
Whey protein is most important for recovery and muscle growth after your workout. That being said, you could definitely take a shake before as well, you'll notice a difference I'm sure, but it's mostly a waste. If you want something before or during you should get some good BCAA's. I really like A-10 amino matrix by EVL nutrition. Branch chain amino acids are what proteins are made of and because they're already broken down they will have a much stronger effect on your body intra and post workout. Better strength and stamina during your workout and less soreness after just to name a few. Hope this helps!
If you have the budget go for both. But if you have to choose one go for post.