Option (b) is correct.
We see rainbows because of the geometry of raindrops. When the sun shines from behind us into the rain, incident rays of light enter the drop and are refracted inwards. Due to this refraction the light gets dispersed into its constituent colours. They are totally internally reflected from the back surface of the raindrop and exit the raindrop refracting again at the exit.
So a rainbow is a meteorological phenomenon that is caused by refraction, total internal reflection and dispersion of light in water droplets resulting in a spectrum of light appearing in the sky.