title: What's the difference between HTTP_URL, REQUEST_URI and these other IIS variables?
body: <p>I came across various <code>&lt;rewrite&gt;</code> rules and noticed there are a lot of variables that appear to be the same. The <a href="https://msdn.microsoft.com/en-us/library/ms524602(v=vs.90).aspx" rel="noreferrer">IIS Server Variables documentation</a> isn't really helping, for example it doesn't explain any difference between <code>PATH_INFO</code> and <code>URL</code>, it doesn't even mention <code>REQUEST_URI</code> at all, etc.</p>
  
  <pre><code>{HTTP_URL}      = /path/to/file.ext?key=value
  {PATH_INFO}     = /path/to/file.ext
  {R:1}           = /path/to/file.ext
  {REQUEST_URI}   = /path/to/file.ext?key=value
  {UNENCODED_URL} = /path/to/file.ext?key=value
  {URL}           = /path/to/file.ext
  {URL_PATH_INFO} = /path/to/file.ext
  </code></pre>
  
  <p>Besides the query string, I haven't found any other differences so far. Are there other differences, and why do we have multiple variables with the same value?</p>