<story><title>URL query parameters and how laxness creates de facto requirements on the web</title><url>https://utcc.utoronto.ca/~cks/space/blog/web/DeFactoQueryParameters</url></story><parent_chain></parent_chain><comment><author>inoffensivename</author><text>Years ago I worked on Google Maps, we spent an inordinate amount of time making sure that we didn&amp;#x27;t break backwards compatibility. Sometimes we would be trying to refactor some old code, but we&amp;#x27;d get stuck trying to support some ancient client that was sending us like 4 requests a day with some wacky query parameters.&lt;p&gt;On the other hand, our Maps still worked on all 5 Blackberries that people were still using.</text></comment>
<story><title>URL query parameters and how laxness creates de facto requirements on the web</title><url>https://utcc.utoronto.ca/~cks/space/blog/web/DeFactoQueryParameters</url></story><parent_chain></parent_chain><comment><author>wereHamster</author><text>&amp;gt; One of the ways that DWiki (the code behind Wandering Thoughts) is unusual is that it strictly validates the query parameters it receives on URLs, including on HTTP GET requests for ordinary pages. If a HTTP request has unexpected and unsupported query parameters, such a GET request will normally fail.&lt;p&gt;This goes counter to the robustness principle: Be conservative in what you do, be liberal in what you accept from others (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Robustness_principle&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Robustness_principle&lt;/a&gt;).</text></comment>