We will define a "short" serve as any serve that, given the chance, would bounce at least twice on the receiver's side of the table before going off the end. Any serve that doesn't do this will be considered a "long" serve.
To attack short serves to the forehand, you will need to develop a forehand flip. The shot can be demonstrated by any top player or coach, or you can learn about it in most table tennis books.
Treat sidespin and topspin serves almost the same if you attack them. Even a heavy sidespin will only affect the ball a foot or less if attacked at a reasonable pace, so start out by simply aiming a little away from the corners. Most mistakes are made in the net or off the end, which means misreading the topspin or backspin. As you get more advanced, you will need to learn to compensate for the sidespin so that you can accurately put the ball anywhere on the table. This may mean aiming one foot off the side of the table to get the ball to go into a corner, to compensate for the sidespin.
No-spin serves are effective because they can be disguised as having spin, because they are easy to control, and because players are so used to returning backspin or topspin/sidespin serves that they have trouble with a ball with no spin. At the higher levels, a backspin serve is easier to push short than a no-spin ball, and a sidespin or topspin serve is easier to flip than a no-spin serve. With a no-spin serve, a server gets a consistent ball to attack, although fewer outright mistakes.
Let's divide serves into three basic types, and explore how they should be returned.
Short Sidespin or Topspin Serves
Short backspin or No-Spin Serves
There is one general rule for returning long serves: ATTACK!!!
This is true of all attacking players, and even for many defensive players. A chopper may return most deep serves defensively, but should mix in attacks. Most players should return a deep serve defensively only as a variation or for tactical purposes (such as against an opponent with a weak attack).
Why should you attack deep serves? Because the serve is deep, you will be contacting the ball from farther away from the opponent than when returning a short serve. This means that your opponent has more time to react to the shot. If your shot is defensive, your opponent will have too much time to prepare his attack. Also, since you are farther away from the table, you have less angle, and so your opponent has less distance to move than going for the angled-off returns possible off a short serve.
Fortunately, it is easier to attack a long serve. Ideally, you should loop any serve that is long. The table is not in the way as it would be for a short serve, and so you can take a longer backswing. You can also backswing from below the table to lift against backspin. If you don't have a loop, or can only loop with the forehand and aren't fast enough to regularly step around the backhand corner to loop with the forehand, then you should learn to drive the ball against deep serves (i.e. a simple forehand or backhand drive).
When attacking a deep serve, remember to lift against backspin, but go mostly forward against topspin or sidespin serves. A common mistake is for receivers to drop their right shoulder too much (for right-handers) when looping a sidespin or topspin serve, and looping the ball off the end.
Short Topspin or Sidespin Serves
The general rule here again is to attack (although you can also "chop-block" the ball back as a variation). On the backhand side, use your normal backhand drive, but with a somewhat shorter stroke, for control. On the forehand side, use a forehand flip for most returns. Go for well-angled returns, or at the opponent's elbow (his transition point between forehand and backhand). Usually, the best place to go is to the backhand, but many opponents will step around and use a forehand from the backhand corner, and so you might want to catch him by returning to his forehand. Also, a player might be stronger on the backhand than on the forehand, in which case you should return most serves to the forehand side.
Many players, especially those who are fast on their feet and with good forehands, like to return nearly all short serves with their forehands. If you can do this, it is a tremendous advantage as it allows you to take the initiative in the rally AND puts you in position for a forehand on the following shot. Jean-Michel Saive of Belgium is the master of this technique.
To chop-block the ball, keep your racket perpendicular to the table (roughly), and chop down on the ball - sort of half block, half push. What you don't want to do is push, since the racket normally aims upward when pushing. If you push a topspin or sidespin serve, the ball will shoot off the end or side.
Certain short sidespins are easier to attack than others. A backhand sidespin serve is tricky to return with the forehand because the natural racket angle on the forehand side when reaching in (for right-handers) is to the left; to return this sidespin, the racket must aim to the right. Similarly, a sidespin serve going the other way is normally trickier to handle with the backhand, although the wrist is more flexible for this shot so it is easier to do. Some players favor the forehand or backhand for the receive, depending on what type of sidespin is coming.
Short Backspin or No-Spin Serves
The general rule here is variation. Learn to flip, push short, and push long.
The easiest way to return a short backspin serve is to push long. This is also a quick way to get into trouble. Top players learn to push very quick off the bounce, and develop a good block to defend the upcoming attack. However, many players push because that's all they know how to do against this serve, and that's a mistake. Push long by choice, for tactical purposes, not because you have no other choice. If you do push, push quick, low, with good backspin, to a wide angle.
The most common receive at the higher levels is a short push, but many players don't have confidence in pushing short until they've practiced it and used it in competition for some time. So practice and use it until you perfect it! It becomes a very powerful weapon once mastered, taking away the server's advantage and stopping a third-ball loop.
Lastly, learn to flip the ball at wide angles. Deception and placement are more important than speed. Many players make too many mistakes trying to flip hard. Instead, hide the direction of the flip until just before contact, and place the ball very quick off the bounce to the opponent's weakest spot. Don't think of a flip as an all-out attack; think of it as a way to disarm an opponent's serve and force a weak return.