title: What's the deal with HTTP status code 308?
body: <p>An IETF RFC draft <a href="https://datatracker.ietf.org/doc/html/draft-reschke-http-status-308-07" rel="nofollow noreferrer">The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)</a> defines HTTP status 308 as <strong>Permanent Redirect</strong>. It should, of course, be noted that this is a draft document and contains in its document header the text &quot;Expires: September 27, 2012&quot;, which I presume would mean it should be considered invalid now, but I'm not familiar with IETF's processes and so don't feel confident about this.</p>
  <p>The Wikipedia article <a href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes" rel="nofollow noreferrer">List of HTTP status codes</a> uses this definition of 308, also:</p>
  <blockquote>
  <p><strong>308 Permanent Redirect (approved as experimental <a href="http://en.wikipedia.org/wiki/Request_for_Comments" rel="nofollow noreferrer">RFC</a>)<sup>[12]</sup></strong></p>
  <blockquote>
  <p>The request, and all future requests should be repeated using another URI. 307 and 308 (as proposed) parallel the behaviours of 302 and 301, but <em>do not allow the HTTP method to change</em>. So, for example, submitting a form to a permanently redirected resource may continue smoothly.</p>
  </blockquote>
  <p>...</p>
  <p>[12]: <a href="https://datatracker.ietf.org/doc/html/draft-reschke-http-status-308" rel="nofollow noreferrer">&quot;The Hypertext Transfer Protocol (HTTP) Status Code 308 (Permanent Redirect)&quot;</a>. <a href="http://en.wikipedia.org/wiki/IETF" rel="nofollow noreferrer">IETF</a>. 2012. Retrieved March 27, 2012.</p>
  </blockquote>
  <p>Eric Law, of Microsoft at the time, comments on this HTTP/308 code in <a href="http://blogs.msdn.com/b/ieinternals/archive/2012/03/29/http-308-permanent-redirect-pushing-the-web-forward-by-breaking-unwanted-forward-compatibility.aspx" rel="nofollow noreferrer">Pushing the Web Forward with HTTP/308</a>. That caused me to discover that Firefox supports 308 under this meaning.</p>
  <p>However, when I was looking in the <a href="/questions/tagged/python-requests" class="post-tag" title="show questions tagged &#39;python-requests&#39;" rel="tag">python-requests</a> library, I found that there is another usage of 308:</p>
  <pre><code>    308: ('resume_incomplete', 'resume'),
  </code></pre>
  <p>This seems to come from a Google Gears <a href="http://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal" rel="nofollow noreferrer">resumable HTTP requests proposal</a>, defining <code>308 Resume Incomplete</code>. There seems to be some usage of that. Of course, neither of these proposals acknowledges the existence of the other.</p>
  <p>So what's going on? Is <code>308 Permanent Redirect</code> alive? What's happening with the status code 308? What should I do?</p>