{"id":653,"date":"2006-09-06T21:48:55-04:00","date_gmt":"2006-09-07T01:48:55+00:00","guid":{"rendered":"http:\/\/peterjanes.ca\/blog\/2006\/09\/06\/just-in-case\/"},"modified":"2006-09-06T23:06:59-04:00","modified_gmt":"2006-09-07T03:06:59+00:00","slug":"just-in-case","status":"publish","type":"post","link":"https:\/\/peterjanes.ca\/blog\/2006\/09\/06\/just-in-case\/","title":{"rendered":"Just in&nbsp;case"},"content":{"rendered":"<div class='e-content'><p><a href=\"http:\/\/joeclark.org\/\">Joe Clark<\/a> is such a stickler for technical correctness that I&#8217;m surprised he let a simple error like <a href=\"http:\/\/blog.fawny.org\/2006\/08\/31\/angry\/\">this<\/a> get through: <q cite=\"http:\/\/blog.fawny.org\/2006\/08\/31\/angry\/\">URLs are case-insensitive by spec<\/q>.  (He&#8217;s referring to the (partial) HTTP URI <code>cbc.ca\/thering<\/code>.)  For the record, directly from the <a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec3.html#sec3.2.3\">specification, RFC 2616<\/a> (I&#8217;ve chosen to link directly to the W3C&#8217;s HTML version, but the text is equivalent to the <a href=\"http:\/\/www.ietf.org\/rfc\/rfc2616.txt\">official text version<\/a> provided by IETF):<\/p>\r\n\r\n<blockquote cite=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec3.html#sec3.2.3\"><h4>3.2.3 URI Comparison<\/h4>\r\n<p>When comparing two URIs to decide if they match or not, a client SHOULD use a case-sensitive octet-by-octet comparison of the entire URIs, with these exceptions:<\/p>\r\n<pre>      - A port that is empty or not given is equivalent to the default\r\n        port for that URI-reference;<\/pre>\r\n      &#8211; Comparisons of host names MUST be case-insensitive;\r\n      &#8211; Comparisons of scheme names MUST be case-insensitive;\r\n      &#8211; An empty abs_path is equivalent to an abs_path of &#8220;\/&#8221;.<\/blockquote>\r\n\r\n<p>In fact, this is the default case for <em>all<\/em> URIs, as defined by <a href=\"http:\/\/www.ietf.org\/rfc\/rfc3986.txt\">RFC 3986<\/a>: <q cite=\"http:\/\/www.ietf.org\/rfc\/rfc3986.txt\">The other generic syntax components are assumed to be case-sensitive unless specifically defined otherwise by the scheme<\/q>.<\/p>\r\n\r\n<p>As the man himself says, <q cite=\"http:\/\/blog.fawny.org\/2006\/08\/31\/angry\/\">Don\u00e2\u20ac\u2122t nitpick angry!<\/q><\/p><\/div><div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"Joe Clark is such a stickler for technical correctness that I&#8217;m surprised he let a simple error like this get through: URLs are case-insensitive by spec. (He&#8217;s referring to the (partial) HTTP URI cbc.ca\/thering.) For the record, directly from the specification, RFC 2616 (I&#8217;ve chosen to link directly to the W3C&#8217;s HTML version, but the&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"venue_id":0},"categories":[3],"tags":[],"kind":false,"_links":{"self":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/653"}],"collection":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/comments?post=653"}],"version-history":[{"count":0,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/653\/revisions"}],"wp:attachment":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/media?parent=653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/categories?post=653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/tags?post=653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}