 fallback to the semantics of
   status code 300 is not problematic.  Server implementers are advised
   not to vary the status code based on characteristics of the request,
   such as the User-Agent header field ("User-Agent Sniffing") -- doing
   so usually results in code that is both hard to maintain and hard to
   debug and would also require special attention to caching (i.e.,
   setting a "Vary" response header field, as defined in <a href="./rfc7231#section-7.1.4">Section&nbsp;7.1.4
   of [RFC7231]<