<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: HTTP Status: Redirection</title>
	<atom:link href="http://benramsey.com/archives/http-status-redirection/feed/" rel="self" type="application/rss+xml" />
	<link>http://benramsey.com/archives/http-status-redirection/</link>
	<description>PHP and Other Techno-babble</description>
	<lastBuildDate>Mon, 01 Feb 2010 11:59:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Niels Ganser</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-269405</link>
		<dc:creator>Niels Ganser</dc:creator>
		<pubDate>Fri, 23 Jan 2009 14:22:10 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-269405</guid>
		<description>Mark, I agree with the notion of 303 not indicating equivalence (e.g. leading to the same resource) of two URIs.

My interpretation is that many requests to one URI may yield many 303s with completely different location fields. E.g. one could imagine a host.com/day_or_night application which, depending on the time of day, 303s to host.com/day or host.com/night. These are still individual resources, even though they are redirect to from the same place!

For your scenario of &quot;canonicalising&quot; URLs, I would either go with a 301 or the Content-Location header.

The former I would use for legacy URLs you actually don&#039;t wany anyone to use anymore (e.g. if you&#039;ve moved files around).

The latter makes sense for when you don&#039;t mind people accessing the same resource via different URLs but want to inform the user agents what they are seeing actually is the resource identified by Content-Location. 

I don&#039;t know how the major browser handle Content-Location. My guess is, they just ignore it which is fine. The user is already seeing what he wants to see so as a web browser there really isn&#039;t anything you need to do anymore. Search engines however (at least the major ones), parse and understand Content-Location. If they see host.com/foob with the Content-Location set to host.com/foobar, they know that what they are seeing right now actually is /foobar. Thus they will usually discard /foob&#039;s content and index /foobar instead. They might re-request /foob in the future though to see if its content has changed.</description>
		<content:encoded><![CDATA[<p>Mark, I agree with the notion of 303 not indicating equivalence (e.g. leading to the same resource) of two URIs.</p>
<p>My interpretation is that many requests to one URI may yield many 303s with completely different location fields. E.g. one could imagine a host.com/day_or_night application which, depending on the time of day, 303s to host.com/day or host.com/night. These are still individual resources, even though they are redirect to from the same place!</p>
<p>For your scenario of &#8220;canonicalising&#8221; URLs, I would either go with a 301 or the Content-Location header.</p>
<p>The former I would use for legacy URLs you actually don&#8217;t wany anyone to use anymore (e.g. if you&#8217;ve moved files around).</p>
<p>The latter makes sense for when you don&#8217;t mind people accessing the same resource via different URLs but want to inform the user agents what they are seeing actually is the resource identified by Content-Location. </p>
<p>I don&#8217;t know how the major browser handle Content-Location. My guess is, they just ignore it which is fine. The user is already seeing what he wants to see so as a web browser there really isn&#8217;t anything you need to do anymore. Search engines however (at least the major ones), parse and understand Content-Location. If they see host.com/foob with the Content-Location set to host.com/foobar, they know that what they are seeing right now actually is /foobar. Thus they will usually discard /foob&#8217;s content and index /foobar instead. They might re-request /foob in the future though to see if its content has changed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Johnson</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-263441</link>
		<dc:creator>Mark Johnson</dc:creator>
		<pubDate>Tue, 23 Dec 2008 14:02:11 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-263441</guid>
		<description>Richardson and Ruby&#039;s RESTful Web Services book (O&#039;Reilly) recommends using HTTP 303 for GET requests as a way to canonicalize URLs, following the architectural guideline that every web resource should have exactly 1 URI. They say that alternate URIs can be implemented as 303 redirects to the canonical resource. Sounds like a good idea, and I&#039;ve been recommending this approach in my work. But I&#039;m worried about the caveat in the spec, that the â€œnew URI is not a substitute reference for the originally requested resource.â€ This would seem to imply that the semantics of 303 does *not* indicate that the two URIs are equivalent. Thus search engines wouldn&#039;t assign link credit properly through the 303, caching agents wouldn&#039;t automatically remember that the alternate URI redirects to the canonical one, and so on. What do you (and others) think of this?</description>
		<content:encoded><![CDATA[<p>Richardson and Ruby&#8217;s RESTful Web Services book (O&#8217;Reilly) recommends using HTTP 303 for GET requests as a way to canonicalize URLs, following the architectural guideline that every web resource should have exactly 1 URI. They say that alternate URIs can be implemented as 303 redirects to the canonical resource. Sounds like a good idea, and I&#8217;ve been recommending this approach in my work. But I&#8217;m worried about the caveat in the spec, that the â€œnew URI is not a substitute reference for the originally requested resource.â€ This would seem to imply that the semantics of 303 does <strong>not</strong> indicate that the two URIs are equivalent. Thus search engines wouldn&#8217;t assign link credit properly through the 303, caching agents wouldn&#8217;t automatically remember that the alternate URI redirects to the canonical one, and so on. What do you (and others) think of this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joe</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-232458</link>
		<dc:creator>Joe</dc:creator>
		<pubDate>Mon, 25 Aug 2008 17:56:05 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-232458</guid>
		<description>So, are you saying that if I do a POST and get a 302 back, per the spec, the client MUST ask the user?  It seems IE6 does do this, however all the latest browsers seem to just do the get and never ask the user.</description>
		<content:encoded><![CDATA[<p>So, are you saying that if I do a POST and get a 302 back, per the spec, the client MUST ask the user?  It seems IE6 does do this, however all the latest browsers seem to just do the get and never ask the user.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-222040</link>
		<dc:creator>Chris</dc:creator>
		<pubDate>Mon, 28 Jul 2008 08:38:52 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-222040</guid>
		<description>So, what should we use for the &quot;index page&quot; of a domain?

e.g. your index of domain &quot;example.com&quot; is &quot;/cms/id/123&quot;

Which status-code should we use here?

Thanks</description>
		<content:encoded><![CDATA[<p>So, what should we use for the &#8220;index page&#8221; of a domain?</p>
<p>e.g. your index of domain &#8220;example.com&#8221; is &#8221;/cms/id/123&#8221;</p>
<p>Which status-code should we use here?</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris D</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-218427</link>
		<dc:creator>Chris D</dc:creator>
		<pubDate>Mon, 21 Jul 2008 07:55:29 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-218427</guid>
		<description>Ben,

So, how abusive is it to use a &quot;Location&quot; header without the 303 status header when performing a redirect after a form submission?</description>
		<content:encoded><![CDATA[<p>Ben,</p>
<p>So, how abusive is it to use a &#8220;Location&#8221; header without the 303 status header when performing a redirect after a form submission?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Leveille</title>
		<link>http://benramsey.com/archives/http-status-redirection/comment-page-1/#comment-218263</link>
		<dc:creator>Jason Leveille</dc:creator>
		<pubDate>Mon, 21 Jul 2008 00:22:33 +0000</pubDate>
		<guid isPermaLink="false">http://benramsey.com/?p=249#comment-218263</guid>
		<description>Did Google App Accelerator not teach us anything!  Thanks for the post Ben.  I for one am enjoying these HTTP Status posts.</description>
		<content:encoded><![CDATA[<p>Did Google App Accelerator not teach us anything!  Thanks for the post Ben.  I for one am enjoying these HTTP Status posts.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
