Ooooh tricky question to explain exactly, rainbows form when light from the sun bounces off water molecules in the sky. The light is dispersed into the 7 visible colours because some of the light travels slightly faster than other parts, we see the different colours. A rainbow can never be caught, its nothing physical, its a optical, weather related phenomena 🙂
Yes, it is light that is bent in such a way by “refraction” to make a “virtual” image in the sky. Long wavelengths of light (red) are bent less than short wavelengths (blue) by the rain droplets in the sky. Try shining a torch into a glass prism, and watch a rainbow come out the other side!