<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Seamlessly switch off (and on) a Django (or other WSGI) site for upgrades</title>
	<atom:link href="http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/</link>
	<description>Blog &#124; Django Web Development &#124; Raleigh Durham Chapel Hill &#124; Caktus Consulting Group</description>
	<pubDate>Mon, 15 Mar 2010 02:24:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: tobias</title>
		<link>http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/#comment-125</link>
		<dc:creator>tobias</dc:creator>
		<pubDate>Wed, 27 May 2009 13:20:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.caktusgroup.com/blog/?p=191#comment-125</guid>
		<description>That sounds reasonable, thanks.  405 Method Not Allowed sounded more permanent to me originally (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html), since POST &lt;em&gt;is normally&lt;/em&gt; a valid method.  From what I understand, most of the 4xx error codes can be either temporary or permanent, as long as the body indicates which it is.  Post updated.</description>
		<content:encoded><![CDATA[<p>That sounds reasonable, thanks.  405 Method Not Allowed sounded more permanent to me originally (see <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html" rel="nofollow">http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html</a>), since POST <em>is normally</em> a valid method.  From what I understand, most of the 4xx error codes can be either temporary or permanent, as long as the body indicates which it is.  Post updated.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: masklinn</title>
		<link>http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/#comment-122</link>
		<dc:creator>masklinn</dc:creator>
		<pubDate>Wed, 27 May 2009 09:23:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.caktusgroup.com/blog/?p=191#comment-122</guid>
		<description>I'd also suggest returning 405 Method Not Allowed rather than 403 Forbidden if the URL is called with something other than GET.</description>
		<content:encoded><![CDATA[<p>I&#8217;d also suggest returning 405 Method Not Allowed rather than 403 Forbidden if the URL is called with something other than GET.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tobias</title>
		<link>http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/#comment-116</link>
		<dc:creator>tobias</dc:creator>
		<pubDate>Tue, 26 May 2009 15:44:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.caktusgroup.com/blog/?p=191#comment-116</guid>
		<description>Good call, thanks.  I updated the code to return a 503 instead of a 200.</description>
		<content:encoded><![CDATA[<p>Good call, thanks.  I updated the code to return a 503 instead of a 200.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Meyer</title>
		<link>http://www.caktusgroup.com/blog/2009/05/25/seamlessly-switch-off-and-on-a-django-or-other-wsgi-site-for-upgrades/#comment-115</link>
		<dc:creator>Carl Meyer</dc:creator>
		<pubDate>Tue, 26 May 2009 15:35:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.caktusgroup.com/blog/?p=191#comment-115</guid>
		<description>Nice.  It should return a 503 Service Unavailable status code rather than 200 OK, else you run the risk of a crawler indexing your "upgrading" page.  Using the 503 status code won't affect browsers displaying the content of the temp page.

If you really want to be HTTP-friendly, you'd optionally add a Retry-After header to indicate how long the maintenance is expected to take.</description>
		<content:encoded><![CDATA[<p>Nice.  It should return a 503 Service Unavailable status code rather than 200 OK, else you run the risk of a crawler indexing your &#8220;upgrading&#8221; page.  Using the 503 status code won&#8217;t affect browsers displaying the content of the temp page.</p>
<p>If you really want to be HTTP-friendly, you&#8217;d optionally add a Retry-After header to indicate how long the maintenance is expected to take.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
