What is the cause of rainbows? Do they appear due to rainfall or any other natural phenomenon. What makes it form a semi-circle in the atmosphere and its colours?
Short answer: A rainbow is formed when light enters a drop of water or an ice crystal and gets refracted and reflected back into an observer's eye.
Longer Answer: Light travels at different velocities depending on the media involved; it travels slower through water than it does through air, for instance. As light enters a raindrop or ice crystal, it first gets refracted. However, not all the frequencies of light get refracted at the same angle. The colors with the shorter wavelengths (e.g. blue, indigo, and violet) get refracted less than the longer wavelengths (red). This spreads the colors out just like passing through a prism. The light then gets reflected off of the back of the raindrop, gets refracted again as it passes out of the raindrop, and travels to the observer's eye.
The reason it is circular is because the light that got refracted and reflected back to the observer, does so at a specific range of angles, 40 to 42 degrees.
In order to see a rainbow, the sun (or other light source) must be directly behind the observer. A straight line is formed from the light source, the observers eyes, and the center of the rainbow. All rainbows are actually circles. We usually see it as an arc because the earth intercepts the circle. (BTW, because of this, no two people, even standing shoulder to shoulder, can see the same exact rainbow. Each rainbow is being created by different raindrops.) If you're ever in an airplane passing over a cloud with the sun above you (as opposed to near the horizon), you may see a complete rainbow. It's pretty awesome.
Here's an illustration:
A rainbow requires water droplets to be floating in the air. That’s why we see them right after it rains. The Sun must be behind you and the clouds cleared away from the Sun for the rainbow to appear.
A full rainbow is actually a complete circle, but from the ground we see only part of it. From an airplane, in the right conditions, one can see an entire circular rainbow. Why the colors? Sunlight is made up of many wavelengths—or colors—of light. Some of those wavelengths get bent more than others when the light enters the water droplet. Violet (the shortest wavelength of visible light) bends the most, red (the longest wavelength of visible light) bends the least. So when the light exits the water droplet, it is separated into all its wavelengths. The light reflecting back to you, the observer with the Sunlight coming from behind you, from the water droplets will appear separated into all the colors of the rainbow! Violet will be on the bottom and red on the top.
1$\begingroup$ I was loathe to respond to this "answer," as it seemed petty since I also posted a previously accepted answer, but since no one else has, I guess I will. First of all, water droplet do not need to be "floating in the air:" they only need to be there. The water droplets responsible for the rainbow can belong to a downpour. Secondly, we do not see them only after it rains. In the northern hemisphere, since storms generally travel from west to east, we can see them in the morning if the storm is approaching, thus the saying, "Rainbow (or red sky) in the morning sailors take warning..." $\endgroup$– BillDOeFeb 13, 2016 at 21:21