Yes, it's normal.
You need to pick him up and move him somewhere safe. Maybe, lie him on the floor when he starts so he can't throw himself down. If he's on a hard surface move somewhere softer obviously, onto a rug/cushions.
Ignore the tantrum. Pick him up calmly and move him. Don't talk to him.
DO NOT give in to the tantrum. This is the most important. Tantrums are a normal part of development, but it will pass much quicker if they learn early on tantrums are pointless! DO NOT GIVE IN.
Do what you can to avoid the onset of a tantrum. They're more likely if they're hungry or tired or over excited or scared. If you see any symptoms, act quick before the tantrum starts. Give him a snack, impose some quiet time, take home/out of the room if you're somewhere and he is over stimulated.
Give a warning of what is going to happen next. 'After tea we're going for a bath'...'when you've had your yoghurt we're going for a bath'...'we're going upstairs now to get in the bath' etc. Give a couple of warning of when you're going to leave somewhere if he is prone to stropping when leaving.
Pick your battles. It's not worth starting a tantrum over minor issues. You are the boss and you must not give in on key issues. But....it's not worth a 15 minute strop because he wants to wear wellies on a hot sunny day or take his spoon from dinner in the bath or wear socks on his hands.