What does it mean when the driver behind you on the Autobahn flashes his headlights?
If he/she is coming from behind, it means normally:
The frequency of the light blinking indicate the urgency, a short one after a while means "Please ?" a whole flurry of it means "GET OUT OF THE F****** LANE, YOU STUPID SNEAKER !!". And no, it is not an exaggeration, Germans can be very offensive behind a steering wheel.
EDIT: In the comments it was suggested to use the left turning indicator. If you drive in Germany on the left lane, you will see that this is nearly invisible from the front car during daytime within the appropiate breaking distance. Short light usage to indicate overtaking is legal and recommended (§5 Part 5 of the StVO, the German street law):
If there is no indication that the driver behind you wants to overtake you, it means that something seems to be wrong with your car (headlights or taillights not working/not on). Get out at the next service station and look. If the blinking comes from the opposing traffic, it means that you have you high beam on or you forget to switch on your lights.
Now some corrections, because Paul got it wrong:
You have no choice choosing your lane, you should
You must also pass someone always on one of the left lanes. It is also punishable to drive too slowly without reason, 100 km/h should be normal on the right lane (If you are e.g. running low on gas, you could drive 80 km/h and switch on the warning lights).
Because Germany is in Middle of Europe, we have an extremely high amount of truck traffic. So while not intended as such, the right lane has in fact mutated to a lorry/truck lane. So if we have three lanes and the right lane is full with trucks, the middle lane accommodates the normal cars which in fact have a speed of 130-150 km/h, the left lane should be reserved for overtaking (meaning that people use it for high speeding). If only two lanes are open, the left is used for overtaking.
ADDITION: If the driver behind you is coming too near and caught, he will be punished with increased severity. The correct distance is the speed halved in meters (140 km/h = 70 m, the poles on the right side have a distance of 50m between them. From 80-130 km/h and less than half it is 35 €, with more than 130 km/h and less than 1/20 of the speed (140 km/h => less than 7m) it means 400 € and immediate suspension of the driving license for 3 months.
It usually means get your slow ass out of the way.
The main Autobahns have three lanes:
If you are driving in the inner lane and someone flashes their headlights at you, it means move over to the middle because they want to get past. If this happens regularly it's a hint to not drive in that lane, or speed up.
It can mean different things, depending on context:
As you can see, there are lots of different meanings, and it's not always clear what the other driver meant.
It is an official signal and has a name: it is called Lichthupe in German.
The German road-traffic regulations Straßenverkehrsordnung (StVO in short) mention this in two paragraphs:
A typical danger could be you see that a driver loses freight. You may not warn other drivers because of a traffic control checkpoint. ADAC notes that the fee will be 10 EUR.
It is not allowed to reduce the safety distance between two cars. Reducing the distance and flashing lights will be interpreted as pushing and leads to severe punishment.
NB: It is allowed outside of towns to flash lights from a safe distance to "ask for permission" to overtake.
In many cases it simply means that the guy behind you is crazy thinks he doesn't have to care about speed limits and safety distance. If there are cars on the line right to yours and you are driving faster than these cars, just ignore the guy behind you.
As @Jonas Stein already mentioned its usually just a reminder that somebody is coming on from behind with a much higher speed then you and wants to overtake. They usually signal from a longer distance. This is for safety reasons so that you know somebody is going to pass although you are already are in the correct lane.
It is to prevent that a driver in the middle lane is going to overtake by going to the left while a car is coming from behind with much higher speed which is pretty dangerous! You don't really see that happen that much in Germany as drivers are used to high speed overtakes but in other countries - like the Netherlands - people just go left without proper mirroring.
You should first let cars pass and then move a lane if you want to overtake. It is very rude and very dangerous to just slam the car to the left as the driver from behind will need to break hard or even insanely hard if he is traveling at 250km/h which is not very uncommon on some highways.
Keep mirroring when you are driving reasonably fast at 180km/h and always move a lane to the right when possible as there is always a faster car.
Although the official rule is to move to the right most lane you usually see that card keep their lane in Germany unless they see a faster car approaching and then move a lane to the right when possible. If its not possible you usually see the car from behing overtake and keep his lane until someone approaching him from behind and them moves to the right very early to not hinder the car from behind.
Also, as people mentioned is that German drivers more often signal when they think something is wrong with your car like signals, lights, tyre pressure as all these can cause dangerous situations due to speed differences.