I think 302 would be more broadly useful. I'm thinking especially about a backend that generates signed URLs that expire, which is something S3 can actually do. 301 means that future requests should use the ``content_redirect_url`` *instead* of the url to this view. However, I think most use cases would benefit from having future requests for this resource still come to this URL.

Generally speaking, if we want to
- change the redirect's destination URL from time to time (in order to do load balancing, signed URLs, or any other purpose)
- authorize access
- log access

then 302 is the way to go.