Image credit: Pixabay.com
It does not come from pot of angel or something like that or something other, which you had been assuming till now and to know the real reason keep reading,
Let's know,
Basically, rainbows are caused by the droplets of water that remains suspended in the air or atmosphere after a rainstorm or heavy rain.
As the droplets have different density than the surrounding air. So, as the sunlight hits them, the light bends and breaks up into it's component wavelengths. As a result, droplets forms tiny prisms, which are reflected back to us.
That is turn creates the arc with bands of colours of visible spectrum which we see.
Because the droplets have to reflect at us, we have to be standing with our backs to the sun in order to see the rainbow. We also need to look up from the ground at a angle of approximately 40° (which is the rainbow's angle of deviation, means the angle at which it bends the light).
Another amazing fact about it, if you are in an airplane then you will see the rainbow below you and interestingly, it actually may look like a disk rather than an arc.
Comment your questions which you want to be answered.