The http.Client does no caching of responses at all. It's not just 301/308.
What is the context here? Is there a situation where this is causing problems? Also, if you are making the same request repeatedly, why is it problematic to be repeating the redirected call but not problematic to be repeating the final call?
I believe @Gaillard filed this issue since 301: Moved Permanently and 308: Permanent Redirect both have permanency in them, thus we can assume that those responses will never change, so perhaps we can consider these as cacheable.