<?xml version="1.0" ?>
<rss version="2.0">
	<channel>
		<title>Keith's Weblog: Comments on &quot;Testing PRG&quot;</title>
		<description>Keith's Weblog: Comments on &quot;Testing PRG&quot;, posted on August 28, 2004</description>
		<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG</link>

		<category>Programming</category>
		<category>This website</category>
		<language>en-us</language>
		<image>
			<link>http://keithdevens.com/weblog</link>
			<title>Keith Devens .com</title>
			<url>http://keithdevens.com/images/kbd.gif</url>
		</image>

		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5375</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5375</guid>
			<pubDate>Sat, 28 Aug 2004 10:29:49 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;testing&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5376</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5376</guid>
			<pubDate>Sat, 28 Aug 2004 10:30:07 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing in Internet Explorer.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5377</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5377</guid>
			<pubDate>Sat, 28 Aug 2004 10:31:09 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing in Opera.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5378</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5378</guid>
			<pubDate>Sat, 28 Aug 2004 10:31:56 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing in Opera again.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5379</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5379</guid>
			<pubDate>Sat, 28 Aug 2004 10:32:29 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing in Opera one more time.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5380</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5380</guid>
			<pubDate>Sat, 28 Aug 2004 10:32:46 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing in Opera for the last time.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5381</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5381</guid>
			<pubDate>Sat, 28 Aug 2004 10:37:15 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing with Ethereal so I can try to figure out what Opera's doing.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5382</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5382</guid>
			<pubDate>Sat, 28 Aug 2004 10:46:39 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing one more time with Ethereal and Opera.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5383</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5383</guid>
			<pubDate>Sat, 28 Aug 2004 10:49:05 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;And one more time with gzip compression off.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Arnaud</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5420</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5420</guid>
			<pubDate>Tue, 31 Aug 2004 18:50:57 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;A possible technique to re-submission is to put a token in a hidden field. If the page is resubmitted you check if the token was used, if you so you don't take into account the user action.&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;like&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;input hidden value=48a24b70a0b376535542b996af517398&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;on the server you create a file with the name as the value above when the form is submitted. Checking if a file with a name as token value you don't take into account the submission. &lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Keith</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5422</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5422</guid>
			<pubDate>Tue, 31 Aug 2004 19:04:52 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Arnaud, I know there are many ways to protect against duplicate form submission, but that's only one benefit of the PRG pattern. The main one is getting rid of the &amp;quot;Resubmit this form data?&amp;quot; popup, which also allows you to use the back and forward buttons in your browser despite a form submission.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Levin</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5430</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5430</guid>
			<pubDate>Tue, 31 Aug 2004 20:49:28 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Testing with Opera&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Arnaud</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5437</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5437</guid>
			<pubDate>Tue, 31 Aug 2004 22:48:38 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;Yes true, I was a bit off topic but it may help some people reading it (who knows &lt;img class=&quot;smiley&quot; src=&quot;/images/smiley_side.gif&quot; alt=&quot;Smiley&quot; /&gt;&lt;/p&gt;

&lt;p class=&quot;st-markup&quot;&gt;I've noticed though that when using a token I would not get the resubmitted popup though I haven't looked into it too much.&lt;/p&gt;

</description>
		</item>
		<item>
			<title>by Ian Bicking</title>
			<link>http://keithdevens.com/weblog/archive/2004/Aug/28/testing-PRG#comment5443</link>
			<guid isPermaLink="false">http://keithdevens.com/weblog/5345#comment5443</guid>
			<pubDate>Wed, 01 Sep 2004 05:07:45 +0000</pubDate>
			<description>&lt;p class=&quot;st-markup&quot;&gt;There's a number of 3xx redirect codes, some of them work better than others.  I think 303 is the right one for PRG.  I've found that other ones work, but sometimes act funny.&lt;/p&gt;

</description>
		</item>
	</channel>
</rss>
