{"id":60,"date":"2007-10-17T23:46:29","date_gmt":"2007-10-17T18:16:29","guid":{"rendered":"http:\/\/www.bin-co.com\/blog\/2007\/10\/case-sensitivity-in-urls\/"},"modified":"2007-10-17T23:46:29","modified_gmt":"2007-10-17T18:16:29","slug":"case-sensitivity-in-urls","status":"publish","type":"post","link":"https:\/\/www.bin-co.com\/blog\/2007\/10\/case-sensitivity-in-urls\/","title":{"rendered":"Case Sensitivity in URLs"},"content":{"rendered":"<p class=\"intro\">I am an open source guy &#8211; so naturally I prefer the flagship <abbr title=\"Open Source Software\">OSS<\/abbr> software Apache to the proprietary Microsoft IIS. But there is one area where IIS does a better job than Apache &#8211; the case sensitivity of URLs.<\/p>\n<h2>Are URLs Case Sensitive?<\/h2>\n<p>They should not be &#8211; but they sometimes are. Domain names are not case sensitive &#8211; for example <a href=\"http:\/\/www.apache.org\/\">http:\/\/www.apache.org\/<\/a> and <a href=\"http:\/\/WWW.Apache.Org\/\">http:\/\/WWW.Apache.Org\/<\/a> goes to the same location. But in the <abbr title=\"Linux\/Apache\/MySQL\/PHP\">LAMP<\/abbr> platform, the path is case sensitive&#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.apache.org\/foundation\/getinvolved.html\">http:\/\/www.apache.org\/foundation\/getinvolved.html<\/a> is not<\/li>\n<li><a href=\"http:\/\/www.apache.org\/Foundation\/GetInvolved.HTML\">http:\/\/www.apache.org\/Foundation\/GetInvolved.HTML<\/a><\/li>\n<\/ul>\n<p>But in the case of Microsoft IIS server, this is not true &#8211; try&#8230;<\/p>\n<ul>\n<li><a href=\"http:\/\/www.microsoft.com\/WindowsServer2003\/IIS\/Default.mspx\">http:\/\/www.microsoft.com\/WindowsServer2003\/IIS\/Default.mspx<\/a> is the same as<\/li>\n<li><a href=\"http:\/\/www.microsoft.com\/windowsserver2003\/iis\/default.mspx\">http:\/\/www.microsoft.com\/windowsserver2003\/iis\/default.mspx<\/a><\/li>\n<\/ul>\n<h2>Reason: Linux Filesystem is Case Sensitive<\/h2>\n<p>The root cause of this is that the filesystem in the Linux OS is case sensitive &#8211; while FAT32\/NTFS filesystems in Windows are not.<\/p>\n<h2>Dynamic URLs<\/h2>\n<p>Now Dynamic\/friendly\/clean URLs are appearing in many CMS tools. A good example for this is the &#8216;permalink structure&#8217; in WordPress. These dynamic URLs could be case sensitive or not &#8211; it depends on the software. In WordPress they are case insensitive. <a href=\"http:\/\/del.icio.us\/\">Del.icio.us<\/a> is also case insensitive. TinyURL is another service that uses case insensitive URLs. But it is possible for the tool to make the URLs case sensitive.<\/p>\n<h2>From the SEO perspective<\/h2>\n<p>If the search bot visits two urls say, example.com\/MyWebPage\/Index and example.com\/mywebpage\/index , will the bot index both page contents? If they are same, will one get the duplicate content penalty? Or will google just index the URL with lower case and ignore the other &#8211; remember, in Linux\/Apache, both pages may have different content.<\/p>\n<h2>Conclusion<\/h2>\n<p>The <a href=\"http:\/\/www.ietf.org\/rfc\/rfc1738.txt\">RFC for URL<\/a> says they must be case insensitive.<\/p>\n<blockquote><p>For resiliency, programs interpreting URLs should treat upper case letters as equivalent to lower case in scheme names (e.g., allow &#8220;HTTP&#8221; as well as &#8220;http&#8221;).<\/p><\/blockquote>\n<p>Apache must not use the filesystem as an excuse &#8211; I really hope they provide case insensitive URLs<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>I am an open source guy &#8211; so naturally I prefer the flagship <abbr title=\"Open Source Software\">OSS<\/abbr> software Apache to the proprietary Microsoft IIS. But there is one area where IIS does a better job than Apache &#8211; the case sensitivity of URLs.<\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,16,18,30],"tags":[43,74,173,249,293],"class_list":["post-60","post","type-post","status-publish","format-standard","hentry","category-apache","category-linux","category-opinion","category-web-development","tag-apache","tag-case","tag-linux","tag-sensitive","tag-url"],"_links":{"self":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/60","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/comments?post=60"}],"version-history":[{"count":0,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/posts\/60\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/media?parent=60"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/categories?post=60"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bin-co.com\/blog\/wp-json\/wp\/v2\/tags?post=60"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}