As a consequence of QCD factorization theorems, a wide variety of inclusive and exclusive cross sections may be formulated in terms of a universal colour dipole cross section at small $x$. It is well known that for small transverse size dipoles this cross section is related to the leading-log gluon density. Using the measured pion-proton cross section as a guide, we suggest a reasonable extrapolation of the dipole cross section to the large transverse size region. We point out that the observed magnitude and small $x$ rise of the gluon density from conventional fits implies that the DGLAP approximation has a restricted region of applicability. We found that `higher twist' or unitarity corrections are required in, or close to, the HERA kinematic region, even for small `perturbative' dipoles for scattering at central impact parameters. This means that the usual perturbative leading twist description, for moderate virtualities, $1 < Q^2 < 10$ GeV$^2$, has rather large `higher twist' corrections at small $x$. In addition, for these virtualities, we also find sizeable contributions from large non-perturbative dipoles ($b \gsim 0.4$ fm) to $F_2$, and also to $F_L$. This also leads to deviations from the standard leading twist DGLAP results, at small $x$ and moderate $Q^2$. Our model also describes the low $Q^2$ data very well without any further tuning. We generalize the Gribov unitarity limit for the structure functions of a hadron target to account for the blackening of the interaction at central impact parameters and to include scattering at peripheral impact parameters which dominate at extremely large energies.