

<!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.5 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.5 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.5</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"><em> HTTP Content Routing</em></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"><em> Cache Monitoring</em></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"><em>Caching Proxies</em></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"><em> Cache Group</em></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"><em> HTTP Content Routing</em></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"><em> HTTP Content Routing</em></a> and <a class="reference internal" href="overview/traffic_router.html#rl-dns-cr"><em> DNS Content Routing</em></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"><em> Localization</em></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"><em> Delivery Service</em></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"><em> Reverse Proxy</em></a>.  See also <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><em> Cache Group</em></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"><em> Traffic Ops Extension</em></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"><em> Forward Proxy</em></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"><em> Health Protocol</em></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"><em> Localization</em></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"><em> Forward Proxy</em></a>. See also <a class="reference internal" href="overview/traffic_server.html#rl-cachegroup"><em> Cache Group</em></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"><em> Cache Group</em></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"><em> Profile</em></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"><em> Reverse Proxy</em></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.5',
            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>