

<!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>Glossary &mdash; Traffic Control 1.1.5-dev 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.1.5-dev documentation" href="index.html"/>
        <link rel="prev" title="Running a Traffic Control CDN" href="faq/administration.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>
<li class="toctree-l1"><a class="reference internal" href="basics/index.html">CDN Basics</a><ul>
<li class="toctree-l2"><a class="reference internal" href="basics/content_delivery_networks.html">Content Delivery Networks</a></li>
<li class="toctree-l2"><a class="reference internal" href="basics/http_11.html">HTTP 1.1</a></li>
<li class="toctree-l2"><a class="reference internal" href="basics/caching_proxies.html">Caching Proxies</a></li>
<li class="toctree-l2"><a class="reference internal" href="basics/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_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_portal.html">Traffic Portal</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_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_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 class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="">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.1.5-dev</a> &raquo;</li>
      
    <li>Glossary</li>
      <li class="wy-breadcrumbs-aside">
        
          <a href="_sources/glossary.txt" rel="nofollow"> View page source</a>
        
      </li>
  </ul>
  <hr/>
</div>
 		  
    		  <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      		  
      		  
        		  <a href="faq/administration.html" class="btn btn-neutral" title="Running a Traffic Control CDN"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      		  
    		  </div>
  		  
          <div role="main" class="document">
            
  <div class="section" id="glossary">
<span id="id1"></span><h1>Glossary<a class="headerlink" href="#glossary" title="Permalink to this headline">¶</a></h1>
<dl class="glossary docutils">
<dt id="term-content-routing">302 content routing</dt>
<dd><a class="reference internal" href="overview/traffic_router.html#rl-http-cr"><span> HTTP Content Routing</span></a>.</dd>
<dt id="term-astats-stats-over-http">astats (stats_over_http)</dt>
<dd>An ATS plugin that allows you to monitor vitals of the ATS server. See <a class="reference internal" href="overview/traffic_monitor.html#rl-astats"><span> Cache Monitoring</span></a>.</dd>
<dt id="term-cache">cache</dt>
<dd>A caching proxy server. See <a class="reference internal" href="basics/caching_proxies.html#rl-caching-proxy"><span>Caching Proxies</span></a>.</dd>
<dt id="term-cachegroup">cachegroup</dt>
<dd>A group of caches that together create a combined larger cache using consistent hashing. See <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><span> Cache Group</span></a>.</dd>
<dt id="term-consistent-hashing">consistent hashing</dt>
<dd>See <a class="reference external" href="http://en.wikipedia.org/wiki/Consistent_hashing">the Wikipedia article</a>; Traffic Control uses consistent hashing when using <a class="reference internal" href="overview/traffic_router.html#rl-http-cr"><span> HTTP Content Routing</span></a> for the edge tier and when selecting parents in the mid tier.</dd>
<dt id="term-5">content routing</dt>
<dd>Directing clients (or client systems) to a particular location or device in a location for optimal delivery of content See also <a class="reference internal" href="overview/traffic_router.html#rl-http-cr"><span> HTTP Content Routing</span></a> and <a class="reference internal" href="overview/traffic_router.html#rl-dns-cr"><span> DNS Content Routing</span></a>.</dd>
<dt id="term-coverage-zone-map">coverage zone map</dt>
<dd>The coverage zone map (czm) or coverage zone file (zcf) is a file that maps network prefixes to cachegroups. See <a class="reference internal" href="overview/traffic_router.html#rl-localization"><span> Localization</span></a>.</dd>
<dt id="term-delivery-service">delivery service</dt>
<dd>A grouping of content in the CDN, usually a determined by the URL hostname. See <a class="reference internal" href="overview/traffic_router.html#rl-ds"><span> Delivery Service</span></a>.</dd>
<dt id="term-edge-tier-or-cache">edge (tier or cache)</dt>
<dd>Closest to the client or end-user. The edge tier is the tier that serves the client, edge caches are caches in the edge tier. In a Traffic Control CDN the basic function of the edge cache is that of a <a class="reference internal" href="basics/caching_proxies.html#rl-rev-proxy"><span> Reverse Proxy</span></a>.  See also <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><span> Cache Group</span></a>.</dd>
<dt id="term-traffic-ops-extension">(traffic ops) extension</dt>
<dd>Using <em>extensions</em>, Traffic Ops be extended to use proprietary checks or monitoring sources. See <a class="reference internal" href="overview/traffic_ops.html#rl-trops-ext"><span> Traffic Ops Extension</span></a>.</dd>
<dt id="term-forward-proxy">forward proxy</dt>
<dd>A proxy that works that acts like it is the client to the origin. See <a class="reference internal" href="basics/caching_proxies.html#rl-fwd-proxy"><span> Forward Proxy</span></a>.</dd>
<dt id="term-geo-localization-or-geo-routing">geo localization or geo routing</dt>
<dd>Localizing clients to the nearest caches using a geo database like the one from Maxmind.</dd>
<dt id="term-health-protocol">health protocol</dt>
<dd>The protocol to monitor the health of all the caches. See <a class="reference internal" href="overview/traffic_monitor.html#rl-health-proto"><span> Health Protocol</span></a>.</dd>
<dt id="term-localization">localization</dt>
<dd>Finding location on the network, or on planet earth. See <a class="reference internal" href="overview/traffic_router.html#rl-localization"><span> Localization</span></a>.</dd>
<dt id="term-mid-tier-or-cache">mid (tier or cache)</dt>
<dd>The tier above the edge tier. The mid tier does not directly serves the end-user and is used as an additional layer between the edge and the origin. In a Traffic Control CDN the basic function of the mid cache is that of a <a class="reference internal" href="basics/caching_proxies.html#rl-fwd-proxy"><span> Forward Proxy</span></a>. See also <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><span> Cache Group</span></a>.</dd>
<dt id="term-origin">origin</dt>
<dd>The source of content for the CDN. Usually a redundant HTTP/1.1 webserver.</dd>
<dt id="term-parent-cache-or-cachegroup">parent (cache or cachegroup)</dt>
<dd>The (group of) cache(s) in the higher tier.  See <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><span> Cache Group</span></a>.</dd>
<dt id="term-profile">profile</dt>
<dd>A group of settings (parameters) that will be applied to a server. See <a class="reference internal" href="overview/traffic_server.html#rl-profile"><span> Profile</span></a>.</dd>
<dt id="term-reverse-proxy">reverse proxy</dt>
<dd>A proxy that acts like it is the origin to the client. See <a class="reference internal" href="basics/caching_proxies.html#rl-rev-proxy"><span> Reverse Proxy</span></a>.</dd>
</dl>
</div>


          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
      
        <a href="faq/administration.html" class="btn btn-neutral" title="Running a Traffic Control CDN"><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.1.5-dev',
            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>