We're implementing a short url service where the redirection target will be changing daily. The urls will be accessed by mobile devices and will always be GET requests. I'm trying to understand which is the best 300-type redirect for the job.
AFAIK most url shortening services use 301 redirects (Moved permanently). However, according to the specs, the 303 (See other) and 307 (Moved temporarily) redirects seems like they were designed for our case...
- Are 303/307 as well supported as 301? The specs say they were only implemented in HTTP 1.1- what limitations does that spell?
- Are there any actual caching or performance implications of choosing 301 vs 303/307.
- For GET requests, is there any reason to pick 303 vs 307?
- Is there any reason to use 302 redirects?
- Any other things to consider?
Yes/None.
I don't think so.
303 has semantics different than 307. If the requested resource is "somewhere else", 303 is not the right answer.
Not really, as far as I can tell. It has the same semantics as 307, but the UA might rewrite a POST request to GET.
See http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-18.html#status.3xx