

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>Caching Proxies &mdash; Traffic Control 1.7 documentation </title>
  

  
  
    <link rel="shortcut icon" href="../_static/favicon.ico"/>
  

  

  
  
    

  

  
  
    <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  

  
    <link rel="stylesheet" href="../_static/theme_overrides.css" type="text/css" />
  

  
    <link rel="top" title="Traffic Control 1.7 documentation" href="../index.html"/>
        <link rel="up" title="CDN Basics" href="index.html"/>
        <link rel="next" title="Cache Control Headers and Revalidation" href="cache_revalidation.html"/>
        <link rel="prev" title="HTTP 1.1" href="http_11.html"/> 

  
  <script src="_static/js/modernizr.min.js"></script>

</head>

<body class="wy-body-for-nav" role="document">

  <div class="wy-grid-for-nav">

    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-nav-search">
        

        
          <a href="/" class="icon icon-home"> Traffic Control
        

        
          
          <img src="../_static/tc_logo.png" class="logo" />
        
        </a>

        
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

        
      </div>

      <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
        
          
          
              <ul class="current">
<li class="toctree-l1 current"><a class="reference internal" href="index.html">CDN Basics</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="content_delivery_networks.html">Content Delivery Networks</a></li>
<li class="toctree-l2"><a class="reference internal" href="http_11.html">HTTP 1.1</a></li>
<li class="toctree-l2 current"><a class="current reference internal" href="">Caching Proxies</a></li>
<li class="toctree-l2"><a class="reference internal" href="cache_revalidation.html">Cache Control Headers and Revalidation</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../overview/index.html">Traffic Control Overview</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../overview/introduction.html">Introduction</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_ops.html">Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_portal.html">Traffic Portal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_router.html">Traffic Router</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_monitor.html">Traffic Monitor</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_stats.html">Traffic Stats</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_server.html">Traffic Server</a></li>
<li class="toctree-l2"><a class="reference internal" href="../overview/traffic_vault.html">Traffic Vault</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../admin/index.html">Administrator&#8217;s Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_ops_install.html">Installing Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_ops_config.html">Configuring Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_ops_using.html">Using Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_ops_extensions.html">Managing Traffic Ops Extensions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_portal.html">Traffic Portal Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_monitor.html">Traffic Monitor Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_router.html">Traffic Router Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_stats.html">Traffic Stats Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_server.html">Traffic Server Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/traffic_vault.html">Traffic Vault Administration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../admin/quick_howto/index.html">Quick How To Guides</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Developer&#8217;s Guide</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_ops.html">Traffic Ops</a></li>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_portal.html">Traffic Portal</a></li>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_router.html">Traffic Router</a></li>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_monitor.html">Traffic Monitor</a></li>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_stats.html">Traffic Stats</a></li>
<li class="toctree-l2"><a class="reference internal" href="../development/traffic_server.html">Traffic Server</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">FAQ</a><ul>
<li class="toctree-l2"><a class="reference internal" href="../faq/general.html">General</a></li>
<li class="toctree-l2"><a class="reference internal" href="../faq/development.html">Development</a></li>
<li class="toctree-l2"><a class="reference internal" href="../faq/administration.html">Running a Traffic Control CDN</a></li>
</ul>
</li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
</ul>

          
        
      </div>
      &nbsp;
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
        <a href="../index.html">Traffic Control</a>
      </nav>


      
      <div class="wy-nav-content">
        <div class="rst-content">
          <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="../index.html">Traffic Control 1.7</a> &raquo;</li>
      
          <li><a href="index.html">CDN Basics</a> &raquo;</li>
      
    <li>Caching Proxies</li>
      <li class="wy-breadcrumbs-aside">
        
          <a href="../_sources/basics/caching_proxies.txt" rel="nofollow"> View page source</a>
        
      </li>
  </ul>
  <hr/>
</div>
 		  
    		  <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      		  
        		  <a href="cache_revalidation.html" class="btn btn-neutral float-right" title="Cache Control Headers and Revalidation">Next <span class="fa fa-arrow-circle-right"></span></a>
      		  
      		  
        		  <a href="http_11.html" class="btn btn-neutral" title="HTTP 1.1"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      		  
    		  </div>
  		  
          <div role="main" class="document">
            
  <div class="section" id="caching-proxies">
<span id="rl-caching-proxy"></span><h1>Caching Proxies<a class="headerlink" href="#caching-proxies" title="Permalink to this headline">¶</a></h1>
<p>The main function of a CDN is to proxy requests from clients to origin servers
and cache the results.
To proxy, in the CDN context, is to obtain content using HTTP from an origin
server on behalf of a client. To cache is to store the results so they can be
reused when other clients are requesting the same content. There are three
types of proxies in use on the Internet today which are described below.</p>
<div class="section" id="arrow-reverse-proxy">
<span id="rl-rev-proxy"></span><span id="index-0"></span><h2><img alt="arrow" src="../_images/fwda.png" /> Reverse Proxy<a class="headerlink" href="#arrow-reverse-proxy" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div>A reverse proxy acts on behalf of the origin server. The client is mostly unaware it is communicating with a proxy and not the actual origin.
All EDGE caches in a Traffic Control CDN are reverse proxies.
To the end user a Traffic Control based CDN appears as a reverse proxy since
it retrieves content from the origin server, acting on behalf of that origin server. The client requests a URL that has
a hostname which resolves to the reverse proxy&#8217;s IP address and, in compliance
with the HTTP 1.1 specification, the client sends a <code class="docutils literal"><span class="pre">Host:</span></code> header to the reverse
proxy that matches the hostname in the URL.
The proxy looks up this hostname in a
list of mappings to find the origin hostname; if the hostname of the Host header is not found in the list,
the proxy will send an error (<code class="docutils literal"><span class="pre">404</span> <span class="pre">Not</span> <span class="pre">Found</span></code>) to the client.
If the supplied hostname is found in this list of mappings, the proxy checks the cache, and when the content is not already present, connects to the
origin the requested <code class="docutils literal"><span class="pre">Host:</span></code> maps to and requests the path of the original URL, providing the origin hostname in the <code class="docutils literal"><span class="pre">Host</span></code> header.  The proxy then stores the URL in cache and serves the contents to the client. When there are subsequent requests for
the same URL, a caching proxy serves the content out of cache thereby reducing
latency and network traffic.</div></blockquote>
<div class="admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference external" href="https://docs.trafficserver.apache.org/en/latest/admin/reverse-proxy-http-redirects.en.html#http-reverse-proxy">ATS documentation on reverse proxy</a>.</p>
</div>
<p>To insert a reverse proxy into the previous HTTP 1.1 example, the reverse proxy requires provisioning
for <code class="docutils literal"><span class="pre">www.origin.com</span></code>. By adding a remap rule to the cache, the reverse proxy then maps requests to
this origin. The content owner must inform the clients, by updating the URL, to receive the content
from the cache and not from the origin server directly. For this example, the remap rule on the
cache is: <code class="docutils literal"><span class="pre">http://www-origin-cache.cdn.com</span> <span class="pre">http://www.origin.com</span></code>.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">In the previous example minimal headers were shown on both the request and response. In the examples that follow, the origin server response is more realistic.</p>
</div>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
<p>The client is given the URL <code class="docutils literal"><span class="pre">http://www-origin-cache.cdn.com/foo/bar/fun.html</span></code> (note the different hostname) and when attempting to obtain that URL, the following occurs:</p>
<ol class="arabic">
<li><p class="first">The client sends a request to the LDNS server to resolve the name <code class="docutils literal"><span class="pre">www-origin-cache.cdn.com</span></code> to an IPv4 address.</p>
</li>
<li><p class="first">Similar to the previous case, the LDNS server resolves the name <code class="docutils literal"><span class="pre">www-origin-cache.cdn.com</span></code> to an IPv4 address, in this example, this address is 55.44.33.22.</p>
</li>
<li><p class="first">The client opens a TCP connection from a random port locally, to port 80 (the HTTP default) on 55.44.33.22, and sends the following:</p>
<div class="highlight-python"><div class="highlight"><pre>GET /foo/bar/fun.html HTTP/1.1
Host: www-origin-cache.cdn.com
</pre></div>
</div>
</li>
<li><p class="first">The reverse proxy looks up <code class="docutils literal"><span class="pre">www-origin-cache.cdn.com</span></code> in its remap rules, and finds the origin is <code class="docutils literal"><span class="pre">www.origin.com</span></code>.</p>
</li>
<li><p class="first">The proxy checks its cache to see if the response for <code class="docutils literal"><span class="pre">http://www-origin-cache.cdn.com/foo/bar/fun.html</span></code> is already in the cache.</p>
</li>
</ol>
<p>6a. If the response is not in the cache:</p>
<blockquote>
<div><ol class="arabic">
<li><p class="first">The proxy uses DNS to get the IPv4 address for <code class="docutils literal"><span class="pre">www.origin.com</span></code>, connect to it on port 80, and sends:</p>
<div class="highlight-python"><div class="highlight"><pre>GET /foo/bar/fun.html HTTP/1.1
Host: www.origin.com
</pre></div>
</div>
</li>
<li><p class="first">The origin server responds with the headers and content as shown:</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</li>
<li><p class="first">The proxy sends the origin response on to the client adding a <code class="docutils literal"><span class="pre">Via:</span></code> header (and maybe others):</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8
Age: 0
Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
Server: ATS/4.2.1

  &lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</li>
</ol>
</div></blockquote>
<p>6b. If it <em>is</em> in the cache:</p>
<blockquote>
<div><p>The proxy responds to the client with the previously retrieved result:</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8
Age: 39711
Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
Server: ATS/4.2.1

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</div></blockquote>
</div>
<div class="section" id="arrow-forward-proxy">
<span id="rl-fwd-proxy"></span><span id="index-1"></span><h2><img alt="arrow" src="../_images/fwda.png" /> Forward Proxy<a class="headerlink" href="#arrow-forward-proxy" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div>A forward proxy acts on behalf of the client. The origin server is mostly
unaware of the proxy, the client requests the proxy to retrieve content from a
particular origin server. All MID caches in a Traffic Control based CDN are
forward proxies. In a forward proxy scenario, the client is explicitely configured  to use the
the proxy&#8217;s IP address and port as a forward proxy. The client always connects to the forward
proxy for content. The content provider does not have to change the URL the
client obtains, and is unaware of the proxy in the middle.</div></blockquote>
<div class="admonition seealso">
<p class="first admonition-title">See also</p>
<p class="last"><a class="reference external" href="https://docs.trafficserver.apache.org/en/latest/admin/forward-proxy.en.html">ATS documentation on forward proxy</a>.</p>
</div>
<p>Below is an example of the client retrieving the URL <code class="docutils literal"><span class="pre">http://www.origin.com/foo/bar/fun.html</span></code> through a forward proxy:</p>
<ol class="arabic simple">
<li>The client requires configuration to use the proxy, as opposed to the reverse proxy example. Assume the client configuration is through preferences entries or other to use the proxy IP address 99.88.77.66 and proxy port 8080.</li>
<li>To retrieve <code class="docutils literal"><span class="pre">http://www.origin.com/foo/bar/fun.html</span></code> URL, the client connects to 99.88.77.66 on port 8080 and sends:</li>
</ol>
<blockquote>
<div><div class="highlight-python"><div class="highlight"><pre>GET http://www.origin.com/foo/bar/fun.html HTTP/1.1
</pre></div>
</div>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">In this case, the client places the entire URL after GET, including protocol and hostname (<code class="docutils literal"><span class="pre">http://www.origin.com</span></code>),  but in the reverse proxy and direct-to-origin case it  puts only the path portion of the URL (<code class="docutils literal"><span class="pre">/foo/bar/fun.html</span></code>) after the GET.</p>
</div>
</div></blockquote>
<ol class="arabic simple" start="3">
<li>The proxy verifies whether the response for <code class="docutils literal"><span class="pre">http://www-origin-cache.cdn.com/foo/bar/fun.html</span></code> is already in the cache.</li>
</ol>
<p>4a. If it is not in the cache:</p>
<blockquote>
<div><ol class="arabic">
<li><p class="first">The proxy uses DNS to obtain the IPv4 address for <code class="docutils literal"><span class="pre">www.origin.com</span></code>, connects to it on port 80, and sends:</p>
<div class="highlight-python"><div class="highlight"><pre>GET /foo/bar/fun.html HTTP/1.1
Host: www.origin.com
</pre></div>
</div>
</li>
<li><p class="first">The origin server responds with the headers and content as shown below:</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Server: Apache/2.2.15 (Red Hat)
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</li>
<li><p class="first">The proxy sends this on to the client adding a <code class="docutils literal"><span class="pre">Via:</span></code> header (and maybe others):</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8
Age: 0
Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
Server: ATS/4.2.1

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</li>
</ol>
</div></blockquote>
<p>4b. If it <em>is</em> in the cache:</p>
<blockquote>
<div><p>The proxy responds to the client with the previously retrieved result:</p>
<div class="highlight-python"><div class="highlight"><pre>HTTP/1.1 200 OK
Date: Sun, 14 Dec 2014 23:22:44 GMT
Last-Modified: Sun, 14 Dec 2014 23:18:51 GMT
ETag: &quot;1aa008f-2d-50a3559482cc0&quot;
Content-Length: 45
Connection: close
Content-Type: text/html; charset=UTF-8
Age: 99711
Via: http/1.1 cache01.cdn.kabletown.net (ApacheTrafficServer/4.2.1 [uScSsSfUpSeN:t cCSi p sS])
Server: ATS/4.2.1

&lt;html&gt;&lt;body&gt;This is a fun file&lt;/body&gt;&lt;/html&gt;
</pre></div>
</div>
</div></blockquote>
</div>
<div class="section" id="arrow-transparent-proxy">
<span id="index-2"></span><h2><img alt="arrow" src="../_images/fwda.png" /> Transparent Proxy<a class="headerlink" href="#arrow-transparent-proxy" title="Permalink to this headline">¶</a></h2>
<blockquote>
<div>Neither the origin nor the client are aware of the actions performed by the transparent proxies. A Traffic Control based CDN does not use transparent proxies.   If you are interested you can learn more about transparent proxies on <a class="reference external" href="http://en.wikipedia.org/wiki/Proxy_server#Transparent_proxy">wikipedia</a>.</div></blockquote>
</div>
</div>


          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="cache_revalidation.html" class="btn btn-neutral float-right" title="Cache Control Headers and Revalidation">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="http_11.html" class="btn btn-neutral" title="HTTP 1.1"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.

</footer>

        </div>
      </div>

    </section>

  </div>
  


  

    <script type="text/javascript">
        var DOCUMENTATION_OPTIONS = {
            URL_ROOT:'../',
            VERSION:'1.7',
            COLLAPSE_INDEX:false,
            FILE_SUFFIX:'.html',
            HAS_SOURCE:  true
        };
    </script>
      <script type="text/javascript" src="../_static/jquery.js"></script>
      <script type="text/javascript" src="../_static/underscore.js"></script>
      <script type="text/javascript" src="../_static/doctools.js"></script>

  

  
  
    <script type="text/javascript" src="../_static/js/theme.js"></script>
  

  
  
  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.StickyNav.enable();
      });
  </script>
   

</body>
</html>