Porphyrins, which include heme, have a strong, fully allowed B-band transition (aka Soret band) around 400 nm and a series of partially forbidden Q-band transition usually in the 500-600 nm region. Both of these transitions are electronic, singlet-to-singlet, and nominally π-π* in origin, at least in most common porphyrin derivatives. The Q-bands are partially forbidden due to configuration interaction and subtractive effects that occur when taking linear combinations of the transition dipole moment integrals. Weak S
0 S
1 transitions are fairly common in conjugated molecules with significant symmetry for this reason. Both the B-bands and Q-bands are split into x- and y-polarized counterparts, but in most porphyrins these transitions are degenerate or nearly so due to the high degree of symmetry of the chromophore. Also, the Q-band transition region usually features significant vibronic structure, which is not very well resolved in the B-band region.
As Babcock_Hall mentioned, the peak maxima (and intensity) of the Q-band transitions especially are sensitive to functionalization of the porphyrin macrocycle as well as the oxidation state, identity and ligand structure of the bound metal center. This is because such structural changes subtly attenuate the HOMO and LUMO orbital energies of the conjugated macrocycle π-system. Hence the shift of colors of hemoglobin when oxygen is bound/unbound, and the shift in color of chlorophyll with subtle functional group changes that afford good coverage of a large part of the solar spectrum (e.g., Chlorophyll a and b). (Technically chlorophyll is a chlorin not a porphyrin, but the same principle holds.)