Snakes have four ways of moving around. Since they don't have legs they use their muscles and their scales to do the "walking".
Serpentine method: This motion is what most people think of when they think of snakes. Snakes will push off of any bump or other surface, rocks, trees, etc., to get going. They move in a wavy motion. They would not be able to move over slick surfaces like glass at all. This movement is also known as lateral undulation.
Concertina method: This is a more difficult way for the snake to move but is effective in tight spaces. The snake braces the back portion of their body while pushing and extending the front portion. Then the snake drops the front portion of their body and straightens an pulls the back portion along. It is almost like they through themselves forward.
Sidewinding: This is a difficult motion to describe but it is often used by snakes to move on loose or slippery surfaces like sand or mud. The snake appears to throw its head forward and the rest of its body follows while the head is thrown forward again. (See picture.)
Rectilinear Method: This is a slow, creeping, straight movement. The snake uses some of the wide scales on its belly to grip the ground while pushing forward with the others.