I heard mixed opinions about eating after exercise. Some say to wait an hour so the body can burn fat. I've also heard because exercise boosts the metabolism and eating also boosts the metabolism, if you eat after exercising your metabolism will raise even higher burning more calories through the day.
My take on it: it's best to wait a half hour to an hour at least to eat. The problem is that if the muscles are engorged with blood and trying to empty the muscles of breakdown products perhaps dumping a load of food in for digestion isn't wise. It may have to sit there and wait for the body to get ready to deal with it....a recipe for indigestion.
An hour's wait seems like a good idea to me. If "starving" then maybe a very light snack, a piece of fruit, or a glass of instantly digestible juice.
A good guideline is, if you're hungry after a workout, eat. I don't think a small meal/snack/shake would cause indigestion or have a significant effect on metabolism or the amount of fat burned.
By providing your muscles with the necessary nutrients to stimulate protein anabolism (after exercise-induced muscle catabolism) and to refuel your depleted energy stores, recovery time can be shortened. What you consume should consist of a mixture of complex carbs and lean protein (with more carbs than protein) and be taken shortly after the workout.
Going from what my Cross Country coach told me, after a hard workout you have 90 minutes to replenish your body with some lost calories...either by drinking a sportsdrink or fruit juice, or by having some kind of nutritional snack. This boosts your metabolism and gives you back some energy, so you don't end up more tired than necessary. I'd say drink something right after a workout, whether caloric or not, and then eat something 30-60 minutes later.