<?xml version="1.0"?>
<?xml-stylesheet href="/transform" type="text/xsl"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:bibo="http://purl.org/ontology/bibo/" xmlns:bs="http://purl.org/ontology/bibo/status/" xmlns:ci="https://vocab.methodandstructure.com/content-inventory#" xmlns:dct="http://purl.org/dc/terms/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" lang="en" prefix="bibo: http://purl.org/ontology/bibo/ bs: http://purl.org/ontology/bibo/status/ ci: https://vocab.methodandstructure.com/content-inventory# dct: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# xhv: http://www.w3.org/1999/xhtml/vocab# xsd: http://www.w3.org/2001/XMLSchema#" vocab="http://www.w3.org/1999/xhtml/vocab#" xml:lang="en">
  <head>
    <title property="dct:title">File Extensions in HTTP URL Paths</title>
    <base href="https://doriantaylor.com/policy/file-extensions-in-http-url-paths"/>
    <link href="../document-stats#EiDmITHu1sHDp_Hb5yG8BI" rev="ci:document"/>
    <link href="../elsewhere" rel="alternate bookmark" title="Elsewhere"/>
    <link href="../this-site" rel="alternate index" title="This Site"/>
    <link href="http://purl.org/ontology/bibo/status/published" rel="bibo:status"/>
    <link href="" rel="ci:canonical" title="File Extensions in HTTP URL Paths"/>
    <link href="../lexicon/#EzqXIsriaILFcWjXdS7FbI" rel="dct:audience" title="Software Developer"/>
    <link href="../person/dorian-taylor#me" rel="dct:creator" title="Dorian Taylor"/>
    <link href="http-url-path-parameter-syntax" rel="dct:references next" title="HTTP URL Path Parameter Syntax"/>
    <link href="choosing-a-canonical-form-for-http-urls" rel="dct:references prev" title="Choosing a Canonical Form for HTTP URLs"/>
    <link href="http-url-path-syntax-constraints" rel="dct:references up" title="HTTP URL Path Syntax Constraints"/>
    <link href="../lexicon/#EnewYu-MeZVXNc97q_-jAI" rel="dct:subject" title="Web Development"/>
    <link href="../person/dorian-taylor" rel="meta" title="Who I Am"/>
    <link about="../" href="../3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="../" href="../f07f5044-01bc-472d-9079-9b07771b731c" rel="alternate" type="application/atom+xml"/>
    <link about="../" href="../this-site" rel="alternate"/>
    <link about="../" href="../elsewhere" rel="alternate"/>
    <link about="../" href="../e341ca62-0387-4cea-b69a-cdabc7656871" rel="alternate" type="application/atom+xml"/>
    <link about="../verso/" href="../3f36c30c-6096-454a-8a22-c062100ae41f" rel="alternate" type="application/atom+xml"/>
    <link about="../verso/" href="../this-site" rel="alternate"/>
    <link about="../verso/" href="../elsewhere" rel="alternate"/>
    <meta content="file-extensions-in-http-url-paths" datatype="xsd:token" property="ci:canonical-slug"/>
    <meta content="TL;DR you don't need 'em." name="description" property="dct:abstract"/>
    <meta content="2008-07-25T16:56:24+00:00" datatype="xsd:dateTime" property="dct:created"/>
    <meta content="file-extensions-in-http-url-paths" property="dct:identifier"/>
    <meta content="2008-09-01T19:20:38+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2008-09-02T13:58:53+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2008-10-09T02:02:01+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2009-03-04T00:43:00+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta content="2022-05-31T04:18:52+00:00" datatype="xsd:dateTime" property="dct:modified"/>
    <meta about="../person/dorian-taylor#me" content="Dorian Taylor" name="author" property="foaf:name"/>
    <meta content="summary" name="twitter:card"/>
    <meta content="@doriantaylor" name="twitter:site"/>
    <meta content="File Extensions in HTTP URL Paths" name="twitter:title"/>
    <meta content="TL;DR you don't need 'em." name="twitter:description"/>
    <object>
      <nav>
        <ul>
          <li>
            <a href="http-url-path-parameter-syntax" rev="dct:references" typeof="bibo:Report">
              <span property="dct:title">HTTP URL Path Parameter Syntax</span>
            </a>
          </li>
          <li>
            <a href="http-url-path-syntax-constraints" rev="dct:references" typeof="bibo:Report">
              <span property="dct:title">HTTP URL Path Syntax Constraints</span>
            </a>
          </li>
          <li>
            <a href="other-non-alpha-numeric-characters-in-http-urls" rev="dct:references" typeof="bibo:Report">
              <span property="dct:title">Other Non-Alpha-Numeric Characters in HTTP URLs</span>
            </a>
          </li>
          <li>
            <a href="../document-stats#EiDmITHu1sHDp_Hb5yG8BI" rev="ci:document" typeof="qb:Observation">
              <span>urn:uuid:8839884c-7bb5-4b07-80e9-fc76f9c86f01</span>
            </a>
          </li>
        </ul>
      </nav>
    </object>
  </head>
  <body about="" id="EUYVzA31nZxVfMvB4bdTDJ" typeof="bibo:Report">
    <p>In <acronym title="Hypertext Transfer Protocol">HTTP</acronym>, information about the <a href="http://en.wikipedia.org/wiki/Internet_media_type" title="Internet Media Type &#x2014; Wikipedia" rel="dct:references">media type</a> of a <a href="../lexicon/representation" title="Representation" rel="dct:references">representation</a> of a <a href="../lexicon/resource" title="Resource" rel="dct:references">resource</a> is given out of band from the resource's <a href="../lexicon/uniform-resource-identifier" title="Uniform Resource Locator" rel="dct:references">URL</a>, obviating the need for <a href="../lexicon/file" title="File" rel="dct:references">file</a> extensions as type indicators. Information architects and/or interaction designers <span title="and ought to">are free to</span> <strong>do away with file extensions entirely</strong> and reclaim the period character <samp>.</samp> for any one of its original purposes, like a <span title="although do bear in mind that not everyone uses a period for decimals">decimal point</span>. File extensions in <acronym title="Hypertext Transfer Protocol">HTTP</acronym> <acronym title="Uniform Resource Locator">URL</acronym>s are nothing more than a superfluous vestige of a long-expired implementation constraint, and can be safely discarded.</p>
    <p>If there is any further trepidation around eliminating file extensions, especially with respect to saving <abbr title="World Wide Web">Web</abbr> pages, rest assured that modern browsers append the necessary extensions in the <em>save</em> dialogue box. For <a href="other-opaque-data-objects" title="Other Opaque Data Objects" rel="dct:references">resources like Adobe <acronym title="Portable Document Format">PDF</acronym>s</a> that are intended to <em>only</em> be downloaded and saved as files, there is a <a href="leveraging-http-and-its-standard-extensions" title="Leveraging HTTP and its Standard Extensions" rel="dct:references">specific technique</a> to supply a file name independently of the <acronym title="Uniform Resource Locator">URL</acronym>.</p>
  </body>
</html>
