I think this case is incorrect.
If we don't have an `If-None-Match` header and the `If-Modified-Since` check shows that the resource has not been modified we need to return 304 to GET/HEAD requests (already correct) and pass on to the inner route for non-GET/HEAD requests! Responding with 416 is not right if I understand the spec correctly.
(Apache also doesn't appear to produce a 416 in this case).

We are probably missing a test for this case I think.