trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jpe...@apache.org
Subject [44/51] trafficserver git commit: Documentation reorganization
Date Tue, 03 Nov 2015 06:10:20 GMT
Documentation reorganization

Introduces a single manual style layout, with subsections moved into a smaller
number of top-level chapters to focus on getting started v. administration v.
Traffic Server development, and general reference material in appendices.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/ce162a6d
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/ce162a6d
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/ce162a6d

Branch: refs/heads/master
Commit: ce162a6db5a6dda6a12ff6f35d602fe7b65aedf5
Parents: a33b8d6
Author: Jon Sime <jsime@omniti.com>
Authored: Fri Oct 30 15:55:06 2015 +0000
Committer: James Peach <jpeach@apache.org>
Committed: Mon Nov 2 21:32:49 2015 -0800

----------------------------------------------------------------------
 .../configuration/cache-basics.en.rst           |  904 ++++++
 .../explicit-forward-proxying.en.rst            |   83 +
 doc/admin-guide/configuration/index.en.rst      |   34 +
 .../configuration/multi-server-caches.en.rst    |  180 ++
 .../redirecting-http-requests.en.rst            |  331 ++
 .../configuration/session-protocol.en.rst       |   59 +
 .../transparent-forward-proxying.en.rst         |  118 +
 .../configuring-traffic-server.en.rst           |   80 +
 doc/admin-guide/files/cache.config.en.rst       |  203 ++
 doc/admin-guide/files/congestion.config.en.rst  |  198 ++
 doc/admin-guide/files/hosting.config.en.rst     |   98 +
 doc/admin-guide/files/icp.config.en.rst         |   99 +
 doc/admin-guide/files/index.en.rst              |   44 +
 doc/admin-guide/files/ip_allow.config.en.rst    |   80 +
 doc/admin-guide/files/log_hosts.config.en.rst   |   65 +
 doc/admin-guide/files/logs_xml.config.en.rst    |  396 +++
 doc/admin-guide/files/parent.config.en.rst      |  180 ++
 doc/admin-guide/files/plugin.config.en.rst      |   75 +
 doc/admin-guide/files/records.config.en.rst     | 3027 +++++++++++++++++
 doc/admin-guide/files/remap.config.en.rst       |  495 +++
 doc/admin-guide/files/splitdns.config.en.rst    |  129 +
 .../files/ssl_multicert.config.en.rst           |  228 ++
 doc/admin-guide/files/storage.config.en.rst     |  186 ++
 doc/admin-guide/files/update.config.en.rst      |  213 ++
 doc/admin-guide/files/volume.config.en.rst      |   69 +
 doc/admin-guide/hierachical-caching.en.rst      |  221 ++
 doc/admin-guide/index.en.rst                    |   56 +
 doc/admin-guide/installation/index.en.rst       |  270 ++
 doc/admin-guide/interaction/index.en.rst        |   35 +
 doc/admin-guide/introduction.en.rst             |  297 ++
 doc/admin-guide/monitoring/alarms.en.rst        |   80 +
 .../monitoring/error-messages.en.rst            |  319 ++
 doc/admin-guide/monitoring/index.en.rst         |   33 +
 doc/admin-guide/monitoring/logging/index.en.rst |   40 +
 .../monitoring/logging/log-builder.en.rst       |   26 +
 .../monitoring/logging/log-collation.en.rst     |  199 ++
 .../monitoring/logging/log-formats.en.rst       | 1031 ++++++
 .../monitoring/logging/managing-logs.en.rst     |  330 ++
 doc/admin-guide/monitoring/logging/pipes.en.rst |   35 +
 .../monitoring/logging/summary-logs.en.rst      |   84 +
 .../monitoring/logging/understanding.en.rst     |   83 +
 .../monitoring/monitoring/builtin.en.rst        |   24 +
 .../monitoring/monitoring/index.en.rst          |   30 +
 .../monitoring/third-party/index.en.rst         |   32 +
 .../monitoring/statistics/accessing.en.rst      |  119 +
 .../statistics/core-statistics.en.rst           |   55 +
 .../monitoring/statistics/core/bandwidth.en.rst |  132 +
 .../statistics/core/cache-volume.en.rst         |  206 ++
 .../monitoring/statistics/core/cache.en.rst     |  291 ++
 .../monitoring/statistics/core/cluster.en.rst   |  209 ++
 .../statistics/core/congestion.en.rst           |   30 +
 .../monitoring/statistics/core/dns.en.rst       |  102 +
 .../monitoring/statistics/core/general.en.rst   |  124 +
 .../statistics/core/hierarchical.en.rst         |   53 +
 .../monitoring/statistics/core/hostdb.en.rst    |  114 +
 .../statistics/core/http-connection.en.rst      |  141 +
 .../statistics/core/http-document-size.en.rst   |   79 +
 .../statistics/core/http-header.en.rst          |   27 +
 .../statistics/core/http-request-method.en.rst  |   94 +
 .../statistics/core/http-response-code.en.rst   |  165 +
 .../statistics/core/http-transaction.en.rst     |  347 ++
 .../monitoring/statistics/core/log.en.rst       |  250 ++
 .../monitoring/statistics/core/misc.en.rst      |   27 +
 .../statistics/core/network-io.en.rst           |   77 +
 .../monitoring/statistics/core/origin.en.rst    |   91 +
 .../monitoring/statistics/core/socks.en.rst     |   45 +
 .../statistics/core/ssl-cipher.en.rst           |  282 ++
 .../monitoring/statistics/core/ssl.en.rst       |  221 ++
 .../monitoring/statistics/core/websocket.en.rst |   31 +
 .../monitoring/statistics/index.en.rst          |   37 +
 .../statistics/plugin-statistics.en.rst         |   24 +
 doc/admin-guide/performance/index.en.rst        |  292 ++
 doc/admin-guide/plugins/authproxy.en.rst        |  110 +
 doc/admin-guide/plugins/background_fetch.en.rst |   91 +
 doc/admin-guide/plugins/balancer.en.rst         |   83 +
 doc/admin-guide/plugins/buffer_upload.en.rst    |   82 +
 doc/admin-guide/plugins/cacheurl.en.rst         |   78 +
 doc/admin-guide/plugins/combo_handler.en.rst    |   85 +
 doc/admin-guide/plugins/conf_remap.en.rst       |   51 +
 doc/admin-guide/plugins/epic.en.rst             |   46 +
 doc/admin-guide/plugins/esi.en.rst              |  151 +
 doc/admin-guide/plugins/generator.en.rst        |   69 +
 doc/admin-guide/plugins/geoip_acl.en.rst        |   96 +
 doc/admin-guide/plugins/gzip.en.rst             |   97 +
 doc/admin-guide/plugins/header_rewrite.en.rst   |  245 ++
 doc/admin-guide/plugins/hipes.en.rst            |  126 +
 doc/admin-guide/plugins/index.en.rst            |   89 +
 doc/admin-guide/plugins/metalink.en.rst         |  123 +
 doc/admin-guide/plugins/mysql_remap.en.rst      |   85 +
 doc/admin-guide/plugins/regex_remap.en.rst      |  142 +
 doc/admin-guide/plugins/s3_auth.en.rst          |   84 +
 doc/admin-guide/plugins/sslheaders.en.rst       |   91 +
 .../plugins/stale_while_revalidate.en.rst       |   23 +
 doc/admin-guide/plugins/stats_over_http.en.rst  |   69 +
 doc/admin-guide/plugins/tcpinfo.en.rst          |  123 +
 doc/admin-guide/plugins/ts_lua.en.rst           | 2916 +++++++++++++++++
 doc/admin-guide/plugins/xdebug.en.rst           |   83 +
 doc/admin-guide/security/index.en.rst           |  332 ++
 doc/admin-guide/storage/index.en.rst            |  424 +++
 doc/admin-guide/transparent-proxy.en.rst        |  118 +
 doc/admin-guide/transparent-proxy/bridge.en.rst |  177 +
 doc/admin-guide/transparent-proxy/build.en.rst  |   60 +
 .../transparent-proxy/router-inline.en.rst      |   87 +
 .../transparent-proxy/wccp-configuration.en.rst |  156 +
 .../wccp-service-config.en.rst                  |   75 +
 doc/admin/cluster-howto.en.rst                  |  180 --
 doc/admin/configuring-cache.en.rst              |  424 ---
 doc/admin/configuring-traffic-server.en.rst     |   80 -
 doc/admin/event-logging-formats.en.rst          |  700 ----
 doc/admin/explicit-proxy-caching.en.rst         |   83 -
 doc/admin/faqs.en.rst                           |  612 ----
 doc/admin/forward-proxy.en.rst                  |  118 -
 doc/admin/getting-started.en.rst                |  209 --
 doc/admin/hierachical-caching.en.rst            |  219 --
 doc/admin/http-proxy-caching.en.rst             |  902 ------
 doc/admin/index.en.rst                          |  325 --
 doc/admin/monitoring-traffic.en.rst             |  109 -
 doc/admin/performance-tuning.en.rst             |  292 --
 doc/admin/reverse-proxy-http-redirects.en.rst   |  331 --
 doc/admin/security-options.en.rst               |  325 --
 doc/admin/session-protocol.en.rst               |   59 -
 doc/admin/traffic-server-error-messages.en.rst  |  359 ---
 doc/admin/transparent-proxy.en.rst              |  118 -
 doc/admin/transparent-proxy/bridge.en.rst       |  177 -
 doc/admin/transparent-proxy/build.en.rst        |   60 -
 .../transparent-proxy/router-inline.en.rst      |   87 -
 .../transparent-proxy/wccp-configuration.en.rst |  156 -
 .../wccp-service-config.en.rst                  |   75 -
 doc/admin/working-log-files.en.rst              | 1164 -------
 doc/appendices/command-line/index.en.rst        |   39 +
 doc/appendices/command-line/traffic_cop.en.rst  |   70 +
 .../command-line/traffic_crashlog.en.rst        |   93 +
 doc/appendices/command-line/traffic_line.en.rst |  299 ++
 .../command-line/traffic_logcat.en.rst          |  108 +
 .../command-line/traffic_logstats.en.rst        |   74 +
 .../command-line/traffic_manager.en.rst         |   63 +
 .../command-line/traffic_server.en.rst          |   95 +
 doc/appendices/command-line/traffic_top.en.rst  |   33 +
 doc/appendices/command-line/traffic_via.en.rst  |   91 +
 doc/appendices/command-line/traffic_wccp.en.rst |   68 +
 doc/appendices/command-line/tspush.en.rst       |   42 +
 doc/appendices/command-line/tsxs.en.rst         |   55 +
 doc/appendices/faq.en.rst                       |  611 ++++
 doc/appendices/glossary.en.rst                  |  149 +
 doc/appendices/http-status-codes.en.rst         |   54 +
 doc/appendices/index.en.rst                     |   29 +
 doc/arch/cache/cache-api.en.rst                 |   70 -
 doc/arch/cache/cache-appendix.en.rst            |  174 -
 doc/arch/cache/cache-arch.en.rst                | 1156 -------
 doc/arch/cache/cache-data-structures.en.rst     |  207 --
 doc/arch/cache/cache.en.rst                     |   33 -
 doc/arch/cache/common.defs                      |   48 -
 .../images/ats-cache-volume-definition.png      |  Bin 3086 -> 0 bytes
 .../cache/images/ats-cache-volume-directory.png |  Bin 34949 -> 0 bytes
 .../cache/images/ats-cache-volume-layout.png    |  Bin 8471 -> 0 bytes
 .../cache/images/ats-cache-write-cursor.png     |  Bin 6593 -> 0 bytes
 .../cache/images/cache-directory-structure.png  |  Bin 28553 -> 0 bytes
 .../cache/images/cache-doc-layout-3-2-0.png     |  Bin 7357 -> 0 bytes
 .../cache/images/cache-doc-layout-4-0-1.png     |  Bin 8524 -> 0 bytes
 doc/arch/cache/images/cache-multi-fragment.png  |  Bin 47782 -> 0 bytes
 doc/arch/cache/images/cache-span-layout.png     |  Bin 8533 -> 0 bytes
 doc/arch/cache/images/cache-spans.png           |  Bin 5085 -> 0 bytes
 doc/arch/cache/images/cache-stripe-layout.png   |  Bin 11594 -> 0 bytes
 doc/arch/cache/images/dir-bucket-assign.png     |  Bin 8815 -> 0 bytes
 doc/arch/cache/images/dir-segment-bucket.png    |  Bin 5720 -> 0 bytes
 doc/arch/cache/ram-cache.en.rst                 |  169 -
 doc/arch/cache/tier-storage.en.rst              |  143 -
 doc/arch/hacking/config-var-impl.en.rst         |  335 --
 doc/arch/hacking/index.en.rst                   |   32 -
 doc/arch/hacking/release-process.en.rst         |  171 -
 doc/arch/index.en.rst                           |   40 -
 doc/arch/proposals/hostdb.en.rst                |  168 -
 doc/common.defs                                 |   35 +-
 doc/conf.py                                     |   12 +
 doc/developer-guide/api/functions/TSAPI.en.rst  |  173 +
 .../api/functions/TSActionCancel.en.rst         |   32 +
 .../api/functions/TSActionDone.en.rst           |   33 +
 .../api/functions/TSCacheRead.en.rst            |   46 +
 .../api/functions/TSCacheRemove.en.rst          |   44 +
 .../api/functions/TSCacheWrite.en.rst           |   53 +
 .../api/functions/TSConfigDataGet.en.rst        |   32 +
 .../api/functions/TSConfigGet.en.rst            |   32 +
 .../api/functions/TSConfigRelease.en.rst        |   32 +
 .../api/functions/TSConfigSet.en.rst            |   32 +
 .../api/functions/TSContCall.en.rst             |   32 +
 .../api/functions/TSContCreate.en.rst           |   32 +
 .../api/functions/TSContDataGet.en.rst          |   32 +
 .../api/functions/TSContDataSet.en.rst          |   32 +
 .../api/functions/TSContDestroy.en.rst          |   32 +
 .../api/functions/TSContMutexGet.en.rst         |   32 +
 .../api/functions/TSContSchedule.en.rst         |   32 +
 .../api/functions/TSDebug.en.rst                |   97 +
 .../api/functions/TSHostLookup.en.rst           |   32 +
 .../functions/TSHostLookupResultAddrGet.en.rst  |   32 +
 .../api/functions/TSHttpConnect.en.rst          |   43 +
 .../functions/TSHttpConnectWithPluginId.en.rst  |  103 +
 .../api/functions/TSHttpHdrClone.en.rst         |   32 +
 .../api/functions/TSHttpHdrCopy.en.rst          |   46 +
 .../api/functions/TSHttpHdrCreate.en.rst        |   32 +
 .../api/functions/TSHttpHdrDestroy.en.rst       |   40 +
 .../api/functions/TSHttpHdrHostGet.en.rst       |   43 +
 .../api/functions/TSHttpHdrLengthGet.en.rst     |   32 +
 .../api/functions/TSHttpHdrMethodGet.en.rst     |   32 +
 .../api/functions/TSHttpHdrMethodSet.en.rst     |   32 +
 .../api/functions/TSHttpHdrPrint.en.rst         |   32 +
 .../api/functions/TSHttpHdrReasonGet.en.rst     |   32 +
 .../api/functions/TSHttpHdrReasonLookup.en.rst  |   30 +
 .../api/functions/TSHttpHdrReasonSet.en.rst     |   32 +
 .../api/functions/TSHttpHdrStatusGet.en.rst     |   32 +
 .../api/functions/TSHttpHdrStatusSet.en.rst     |   32 +
 .../api/functions/TSHttpHdrTypeGet.en.rst       |   32 +
 .../api/functions/TSHttpHdrTypeSet.en.rst       |   32 +
 .../api/functions/TSHttpHdrUrlGet.en.rst        |   32 +
 .../api/functions/TSHttpHdrUrlSet.en.rst        |   32 +
 .../api/functions/TSHttpHdrVersionGet.en.rst    |   32 +
 .../api/functions/TSHttpHdrVersionSet.en.rst    |   32 +
 .../api/functions/TSHttpHookAdd.en.rst          |  118 +
 .../functions/TSHttpIsInternalRequest.en.rst    |   70 +
 .../functions/TSHttpOverridableConfig.en.rst    |  162 +
 .../api/functions/TSHttpParserCreate.en.rst     |   91 +
 .../api/functions/TSHttpSsnReenable.en.rst      |   32 +
 .../TSHttpTxnCacheLookupStatusGet.en.rst        |   32 +
 .../functions/TSHttpTxnCacheLookupUrlGet.en.rst |   59 +
 .../api/functions/TSHttpTxnCachedReqGet.en.rst  |   32 +
 .../api/functions/TSHttpTxnCachedRespGet.en.rst |   32 +
 .../TSHttpTxnClientPacketDscpSet.en.rst         |   45 +
 .../TSHttpTxnClientPacketMarkSet.en.rst         |   44 +
 .../TSHttpTxnClientPacketTosSet.en.rst          |   50 +
 .../api/functions/TSHttpTxnClientReqGet.en.rst  |   32 +
 .../api/functions/TSHttpTxnClientRespGet.en.rst |   32 +
 .../api/functions/TSHttpTxnErrorBodySet.en.rst  |   39 +
 .../api/functions/TSHttpTxnIntercept.en.rst     |   51 +
 .../api/functions/TSHttpTxnMilestoneGet.en.rst  |  104 +
 .../functions/TSHttpTxnNextHopAddrGet.en.rst    |   40 +
 .../functions/TSHttpTxnParentProxySet.en.rst    |   37 +
 .../api/functions/TSHttpTxnReenable.en.rst      |   44 +
 .../api/functions/TSHttpTxnServerAddrGet.en.rst |   40 +
 .../functions/TSHttpTxnServerIntercept.en.rst   |   70 +
 .../TSHttpTxnServerPacketDscpSet.en.rst         |   50 +
 .../TSHttpTxnServerPacketMarkSet.en.rst         |   48 +
 .../TSHttpTxnServerPacketTosSet.en.rst          |   52 +
 .../api/functions/TSHttpTxnServerReqGet.en.rst  |   32 +
 .../api/functions/TSHttpTxnServerRespGet.en.rst |   32 +
 .../api/functions/TSHttpTxnSsnGet.en.rst        |   32 +
 .../functions/TSHttpTxnTransformRespGet.en.rst  |   32 +
 .../TSHttpTxnTransformedRespCache.en.rst        |   32 +
 .../TSHttpTxnUntransformedRespCache.en.rst      |   32 +
 .../functions/TSIOBufferBlockReadStart.en.rst   |   32 +
 .../api/functions/TSIOBufferCopy.en.rst         |   32 +
 .../api/functions/TSIOBufferCreate.en.rst       |   98 +
 .../api/functions/TSInstallDirGet.en.rst        |   64 +
 .../api/functions/TSLifecycleHookAdd.en.rst     |  112 +
 .../api/functions/TSMBufferCreate.en.rst        |   97 +
 .../api/functions/TSMgmtCounterGet.en.rst       |   32 +
 .../api/functions/TSMgmtFloatGet.en.rst         |   32 +
 .../api/functions/TSMgmtIntGet.en.rst           |   32 +
 .../api/functions/TSMgmtStringGet.en.rst        |   32 +
 .../api/functions/TSMgmtUpdateRegister.en.rst   |   32 +
 .../api/functions/TSMimeHdrClone.en.rst         |   42 +
 .../api/functions/TSMimeHdrCopy.en.rst          |   44 +
 .../api/functions/TSMimeHdrCreate.en.rst        |   36 +
 .../api/functions/TSMimeHdrDestroy.en.rst       |   34 +
 .../api/functions/TSMimeHdrFieldAppend.en.rst   |   47 +
 .../api/functions/TSMimeHdrFieldClone.en.rst    |   32 +
 .../api/functions/TSMimeHdrFieldCopy.en.rst     |   32 +
 .../functions/TSMimeHdrFieldCopyValues.en.rst   |   32 +
 .../api/functions/TSMimeHdrFieldCreate.en.rst   |   32 +
 .../api/functions/TSMimeHdrFieldDestroy.en.rst  |   37 +
 .../api/functions/TSMimeHdrFieldFind.en.rst     |   42 +
 .../api/functions/TSMimeHdrFieldGet.en.rst      |   41 +
 .../functions/TSMimeHdrFieldLengthGet.en.rst    |   32 +
 .../api/functions/TSMimeHdrFieldNameGet.en.rst  |   32 +
 .../api/functions/TSMimeHdrFieldNameSet.en.rst  |   32 +
 .../api/functions/TSMimeHdrFieldNext.en.rst     |   32 +
 .../api/functions/TSMimeHdrFieldNextDup.en.rst  |   32 +
 .../api/functions/TSMimeHdrFieldRemove.en.rst   |   47 +
 .../functions/TSMimeHdrFieldValueAppend.en.rst  |   32 +
 .../TSMimeHdrFieldValueDateInsert.en.rst        |   32 +
 .../functions/TSMimeHdrFieldValueDateSet.en.rst |   32 +
 .../functions/TSMimeHdrFieldValueIntSet.en.rst  |   32 +
 .../TSMimeHdrFieldValueStringGet.en.rst         |  111 +
 .../TSMimeHdrFieldValueStringInsert.en.rst      |   32 +
 .../TSMimeHdrFieldValueStringSet.en.rst         |   32 +
 .../TSMimeHdrFieldValueUintInsert.en.rst        |   32 +
 .../functions/TSMimeHdrFieldValueUintSet.en.rst |   32 +
 .../functions/TSMimeHdrFieldValuesClear.en.rst  |   32 +
 .../functions/TSMimeHdrFieldValuesCount.en.rst  |   32 +
 .../api/functions/TSMimeHdrFieldsClear.en.rst   |   36 +
 .../api/functions/TSMimeHdrFieldsCount.en.rst   |   35 +
 .../api/functions/TSMimeHdrLengthGet.en.rst     |   35 +
 .../api/functions/TSMimeHdrParse.en.rst         |   40 +
 .../api/functions/TSMimeHdrPrint.en.rst         |   35 +
 .../api/functions/TSMimeParserClear.en.rst      |   34 +
 .../api/functions/TSMimeParserCreate.en.rst     |   39 +
 .../api/functions/TSMimeParserDestroy.en.rst    |   34 +
 .../api/functions/TSMutexCreate.en.rst          |   32 +
 .../api/functions/TSMutexDestroy.en.rst         |   35 +
 .../api/functions/TSMutexLock.en.rst            |   32 +
 .../api/functions/TSMutexLockTry.en.rst         |   32 +
 .../api/functions/TSMutexUnlock.en.rst          |   32 +
 .../api/functions/TSNetAccept.en.rst            |   32 +
 .../functions/TSNetAcceptNamedProtocol.en.rst   |   58 +
 .../api/functions/TSNetConnect.en.rst           |   32 +
 .../api/functions/TSPluginInit.en.rst           |   81 +
 .../api/functions/TSRemap.en.rst                |   88 +
 .../api/functions/TSSslContextFindBy.en.rst     |   58 +
 .../api/functions/TSTextLogObjectCreate.en.rst  |   61 +
 .../api/functions/TSThreadCreate.en.rst         |   32 +
 .../api/functions/TSThreadDestroy.en.rst        |   32 +
 .../api/functions/TSThreadInit.en.rst           |   32 +
 .../api/functions/TSThreadSelf.en.rst           |   32 +
 .../functions/TSTrafficServerVersionGet.en.rst  |  102 +
 .../api/functions/TSTransformCreate.en.rst      |   32 +
 .../functions/TSTransformOutputVConnGet.en.rst  |   32 +
 .../api/functions/TSTypes.en.rst                |  190 ++
 .../api/functions/TSUrlCreate.en.rst            |   88 +
 .../api/functions/TSUrlDestroy.en.rst           |   44 +
 .../api/functions/TSUrlFtpTypeGet.en.rst        |   34 +
 .../api/functions/TSUrlFtpTypeSet.en.rst        |   35 +
 .../api/functions/TSUrlHostGet.en.rst           |   82 +
 .../api/functions/TSUrlHostSet.en.rst           |   77 +
 .../api/functions/TSUrlPercentEncode.en.rst     |   70 +
 .../api/functions/TSUrlStringGet.en.rst         |   69 +
 .../api/functions/TSVConnAbort.en.rst           |   32 +
 .../functions/TSVConnCacheObjectSizeGet.en.rst  |   32 +
 .../api/functions/TSVConnClose.en.rst           |   32 +
 .../api/functions/TSVConnClosedGet.en.rst       |   32 +
 .../api/functions/TSVConnFdCreate.en.rst        |   62 +
 .../api/functions/TSVConnIsSsl.en.rst           |   37 +
 .../api/functions/TSVConnRead.en.rst            |   32 +
 .../api/functions/TSVConnReadVIOGet.en.rst      |   32 +
 .../api/functions/TSVConnReenable.en.rst        |   51 +
 .../api/functions/TSVConnShutdown.en.rst        |   32 +
 .../functions/TSVConnSslConnectionGet.en.rst    |   43 +
 .../api/functions/TSVConnTunnel.en.rst          |   39 +
 .../api/functions/TSVConnWrite.en.rst           |   32 +
 .../api/functions/TSVConnWriteVIOGet.en.rst     |   32 +
 .../api/functions/TSVIOBufferGet.en.rst         |   32 +
 .../api/functions/TSVIOContGet.en.rst           |   32 +
 .../api/functions/TSVIOMutexGet.en.rst          |   32 +
 .../api/functions/TSVIONBytesGet.en.rst         |   32 +
 .../api/functions/TSVIONBytesSet.en.rst         |   32 +
 .../api/functions/TSVIONDoneGet.en.rst          |   32 +
 .../api/functions/TSVIONDoneSet.en.rst          |   32 +
 .../api/functions/TSVIONTodoGet.en.rst          |   32 +
 .../api/functions/TSVIOReaderGet.en.rst         |   32 +
 .../api/functions/TSVIOReenable.en.rst          |   32 +
 .../api/functions/TSVIOVConnGet.en.rst          |   32 +
 .../api/functions/TSfclose.en.rst               |   37 +
 .../api/functions/TSfflush.en.rst               |   36 +
 .../api/functions/TSfgets.en.rst                |   40 +
 .../api/functions/TSfopen.en.rst                |   38 +
 .../api/functions/TSfread.en.rst                |   36 +
 .../api/functions/TSfwrite.en.rst               |   41 +
 .../api/functions/TSmalloc.en.rst               |   83 +
 doc/developer-guide/api/functions/index.en.rst  |   29 +
 doc/developer-guide/api/index.en.rst            |   33 +
 .../api/types/TSCacheDataType.en.rst            |   42 +
 .../api/types/TSCacheError.en.rst               |   42 +
 .../api/types/TSCacheLookupResult.en.rst        |   44 +
 .../api/types/TSCacheScanResult.en.rst          |   48 +
 doc/developer-guide/api/types/TSEvent.en.rst    |  189 ++
 .../api/types/TSFetchWakeUpOptions.en.rst       |   42 +
 .../api/types/TSHttpHookID.en.rst               |   83 +
 .../api/types/TSHttpStatus.en.rst               |  151 +
 doc/developer-guide/api/types/TSHttpType.en.rst |   51 +
 .../api/types/TSIOBuffersSizeIndex.en.rst       |   66 +
 .../api/types/TSLifecycleHookID.en.rst          |   49 +
 .../api/types/TSLookingUpType.en.rst            |   48 +
 .../api/types/TSMilestonesType.en.rst           |   78 +
 .../api/types/TSOverridableConfigKey.en.rst     |  212 ++
 .../api/types/TSParseResult.en.rst              |   45 +
 .../api/types/TSRecordAccessType.en.rst         |   42 +
 .../api/types/TSRecordCheckType.en.rst          |   44 +
 .../api/types/TSRecordDataType.en.rst           |   52 +
 .../api/types/TSRecordModeType.en.rst           |   44 +
 .../api/types/TSRecordPersistType.en.rst        |   42 +
 .../api/types/TSRecordType.en.rst               |   52 +
 .../api/types/TSRecordUpdateType.en.rst         |   46 +
 .../api/types/TSReturnCode.en.rst               |   40 +
 .../api/types/TSSDKVersion.en.rst               |   40 +
 .../TSServerSessionSharingMatchType.en.rst      |   44 +
 .../types/TSServerSessionSharingPoolType.en.rst |   40 +
 .../api/types/TSServerState.en.rst              |   60 +
 .../api/types/TSSslVConnOp.en.rst               |   44 +
 .../api/types/TSThreadPool.en.rst               |   52 +
 .../api/types/TSVConnCloseFlags.en.rst          |   40 +
 doc/developer-guide/api/types/index.en.rst      |   34 +
 .../architecture/api-functions.en.rst           |   69 +
 .../architecture/architecture.en.rst            | 1158 +++++++
 .../architecture/consistency.en.rst             |  174 +
 .../architecture/data-structures.en.rst         |  207 ++
 .../images/ats-cache-volume-definition.png      |  Bin 0 -> 3086 bytes
 .../images/ats-cache-volume-directory.png       |  Bin 0 -> 34949 bytes
 .../images/ats-cache-volume-layout.png          |  Bin 0 -> 8471 bytes
 .../images/ats-cache-write-cursor.png           |  Bin 0 -> 6593 bytes
 .../images/cache-directory-structure.png        |  Bin 0 -> 28553 bytes
 .../images/cache-doc-layout-3-2-0.png           |  Bin 0 -> 7357 bytes
 .../images/cache-doc-layout-4-0-1.png           |  Bin 0 -> 8524 bytes
 .../images/cache-multi-fragment.png             |  Bin 0 -> 47782 bytes
 .../architecture/images/cache-span-layout.png   |  Bin 0 -> 8533 bytes
 .../architecture/images/cache-spans.png         |  Bin 0 -> 5085 bytes
 .../architecture/images/cache-stripe-layout.png |  Bin 0 -> 11594 bytes
 .../architecture/images/dir-bucket-assign.png   |  Bin 0 -> 8815 bytes
 .../architecture/images/dir-segment-bucket.png  |  Bin 0 -> 5720 bytes
 doc/developer-guide/architecture/index.en.rst   |   43 +
 .../architecture/ram-cache.en.rst               |  171 +
 .../architecture/tiered-storage.en.rst          |  142 +
 doc/developer-guide/config-vars.en.rst          |  337 ++
 .../continuous-integration/index.en.rst         |   24 +
 doc/developer-guide/contributing/index.en.rst   |   24 +
 .../debugging/core-dump-analysis.en.rst         |   24 +
 .../debugging/debug-builds.en.rst               |   43 +
 doc/developer-guide/debugging/debug-tags.en.rst |  113 +
 doc/developer-guide/debugging/index.en.rst      |   34 +
 .../debugging/memory-leaks.en.rst               |   35 +
 doc/developer-guide/debugging/profiling.en.rst  |   24 +
 .../debugging/using-tsassert.en.rst             |   24 +
 .../documentation/adding-domains.en.rst         |  331 ++
 .../documentation/building.en.rst               |   50 +
 .../documentation/conventions.en.rst            |  216 ++
 doc/developer-guide/documentation/index.en.rst  |   34 +
 .../documentation/rst-and-sphinx.en.rst         |   43 +
 .../documentation/structure.en.rst              |   60 +
 .../documentation/ts-markup.en.rst              |  205 ++
 .../host-resolution-proposal.en.rst             |  170 +
 doc/developer-guide/index.en.rst                |   53 +
 .../introduction/audience.en.rst                |   53 +
 doc/developer-guide/introduction/index.en.rst   |  117 +
 .../plugins/actions/hosts-lookup-api.en.rst     |   32 +
 .../plugins/actions/index.en.rst                |  178 +
 .../plugins/adding-statistics.en.rst            |  190 ++
 .../plugins/building-plugins.en.rst             |   24 +
 .../plugins/configuration.en.rst                |  105 +
 .../activating-continuations.en.rst             |   40 +
 .../plugins/continuations/index.en.rst          |  135 +
 .../writing-handler-functions.en.rst            |  129 +
 ...d-getting-a-handle-to-the-transaction.en.rst |   46 +
 .../basic-authorization/index.en.rst            |   48 +
 .../setting-a-transaction-hook.en.rst           |   58 +
 .../working-with-http-headers.en.rst            |   98 +
 ...ssing-the-transaction-being-processed.en.rst |   64 +
 .../example-plugins/blacklist/index.en.rst      |  111 +
 .../blacklist/setting-a-global-hook.en.rst      |   38 +
 .../setting-up-a-transaction-hook.en.rst        |   84 +
 .../blacklist/source-code.en.rst                |  305 ++
 .../working-with-http-header-functions.en.rst   |   64 +
 .../plugins/example-plugins/index.en.rst        |   78 +
 .../query-remap/example-query-remap.en.rst      |  152 +
 .../example-plugins/query-remap/index.en.rst    |   75 +
 .../getting-started/a-simple-plugin.en.rst      |  126 +
 .../plugins/getting-started/index.en.rst        |  246 ++
 .../getting-started/naming-conventions.en.rst   |   55 +
 ...gin-registration-and-version-checking.en.rst |   89 +
 .../hooks-and-transactions/adding-hooks.en.rst  |  155 +
 .../http-alternate-selection.en.rst             |  193 ++
 .../hooks-and-transactions/http-sessions.en.rst |   56 +
 .../http-transactions.en.rst                    |  200 ++
 .../plugins/hooks-and-transactions/index.en.rst |  161 +
 .../initiate-http-connection.en.rst             |   29 +
 .../intercepting-http-transactions.en.rst       |   34 +
 .../http-headers/header-functions.en.rst        |  179 ++
 .../plugins/http-headers/index.en.rst           |  139 +
 .../plugins/http-headers/marshal-buffers.en.rst |   55 +
 .../plugins/http-headers/mime-headers.en.rst    |  441 +++
 .../trafficserver-http-header-system.en.rst     |  185 ++
 .../plugins/http-headers/urls.en.rst            |  136 +
 .../append-transform-plugin.en.rst              |  148 +
 .../plugins/http-transformations/index.en.rst   |  185 ++
 ...e-buffered-null-transformation-plugin.en.rst |  216 ++
 .../sample-null-transformation-plugin.en.rst    |  221 ++
 doc/developer-guide/plugins/index.en.rst        |  154 +
 doc/developer-guide/plugins/introduction.en.rst |  308 ++
 doc/developer-guide/plugins/io/cache-api.en.rst |  167 +
 doc/developer-guide/plugins/io/index.en.rst     |  197 ++
 .../plugins/io/io-buffers.en.rst                |   56 +
 .../plugins/io/net-vconnections.en.rst          |   35 +
 .../plugins/io/transformations.en.rst           |  183 ++
 doc/developer-guide/plugins/io/vios.en.rst      |   62 +
 doc/developer-guide/plugins/mutexes.en.rst      |  397 +++
 .../plugins/new-protocol-plugins.en.rst         |  373 +++
 .../plugins/plugin-interfaces.en.rst            |  142 +
 .../plugins/plugin-management/index.en.rst      |   32 +
 .../plugin-management/logging-api.en.rst        |  120 +
 .../settings-and-statistics.en.rst              |   59 +
 .../release-process/index.en.rst                |  174 +
 doc/developer-guide/skeleton                    |  134 +
 .../testing-with-vagrant/index.en.rst           |  258 ++
 doc/developer-guide/troubleshooting-tips.en.rst |   55 +
 .../unable-to-load-plugins.en.rst               |   40 +
 doc/ext/traffic-server.py                       |  141 +-
 doc/getting-started.en.rst                      |  451 ---
 doc/getting-started/index.en.rst                |  451 +++
 doc/glossary.en.rst                             |  123 -
 doc/index.rst                                   |   38 +-
 doc/manpages.py                                 |   57 +-
 doc/preface/index.en.rst                        |  130 +
 doc/reference/api/TSAPI.en.rst                  |  145 -
 doc/reference/api/TSActionCancel.en.rst         |   30 -
 doc/reference/api/TSActionDone.en.rst           |   30 -
 doc/reference/api/TSCacheRead.en.rst            |   46 -
 doc/reference/api/TSCacheRemove.en.rst          |   43 -
 doc/reference/api/TSCacheWrite.en.rst           |   52 -
 doc/reference/api/TSConfigDataGet.en.rst        |   30 -
 doc/reference/api/TSConfigGet.en.rst            |   30 -
 doc/reference/api/TSConfigRelease.en.rst        |   30 -
 doc/reference/api/TSConfigSet.en.rst            |   30 -
 doc/reference/api/TSContCall.en.rst             |   30 -
 doc/reference/api/TSContCreate.en.rst           |   30 -
 doc/reference/api/TSContDataGet.en.rst          |   30 -
 doc/reference/api/TSContDataSet.en.rst          |   30 -
 doc/reference/api/TSContDestroy.en.rst          |   30 -
 doc/reference/api/TSContMutexGet.en.rst         |   30 -
 doc/reference/api/TSContSchedule.en.rst         |   30 -
 doc/reference/api/TSDebug.en.rst                |   93 -
 doc/reference/api/TSHostLookup.en.rst           |   30 -
 .../api/TSHostLookupResultAddrGet.en.rst        |   30 -
 doc/reference/api/TSHttpConnect.en.rst          |   42 -
 .../api/TSHttpConnectWithPluginId.en.rst        |   99 -
 doc/reference/api/TSHttpHdrClone.en.rst         |   30 -
 doc/reference/api/TSHttpHdrCopy.en.rst          |   45 -
 doc/reference/api/TSHttpHdrCreate.en.rst        |   30 -
 doc/reference/api/TSHttpHdrDestroy.en.rst       |   37 -
 doc/reference/api/TSHttpHdrHostGet.en.rst       |   36 -
 doc/reference/api/TSHttpHdrLengthGet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrMethodGet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrMethodSet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrPrint.en.rst         |   30 -
 doc/reference/api/TSHttpHdrReasonGet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrReasonLookup.en.rst  |   30 -
 doc/reference/api/TSHttpHdrReasonSet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrStatusGet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrStatusSet.en.rst     |   30 -
 doc/reference/api/TSHttpHdrTypeGet.en.rst       |   30 -
 doc/reference/api/TSHttpHdrTypeSet.en.rst       |   30 -
 doc/reference/api/TSHttpHdrUrlGet.en.rst        |   30 -
 doc/reference/api/TSHttpHdrUrlSet.en.rst        |   30 -
 doc/reference/api/TSHttpHdrVersionGet.en.rst    |   30 -
 doc/reference/api/TSHttpHdrVersionSet.en.rst    |   30 -
 doc/reference/api/TSHttpHookAdd.en.rst          |  113 -
 .../api/TSHttpIsInternalRequest.en.rst          |   67 -
 .../api/TSHttpOverridableConfig.en.rst          |  155 -
 doc/reference/api/TSHttpParserCreate.en.rst     |   89 -
 doc/reference/api/TSHttpSsnReenable.en.rst      |   30 -
 .../api/TSHttpTxnCacheLookupStatusGet.en.rst    |   30 -
 .../api/TSHttpTxnCacheLookupUrlGet.en.rst       |   57 -
 doc/reference/api/TSHttpTxnCachedReqGet.en.rst  |   30 -
 doc/reference/api/TSHttpTxnCachedRespGet.en.rst |   30 -
 .../api/TSHttpTxnClientPacketDscpSet.en.rst     |   45 -
 .../api/TSHttpTxnClientPacketMarkSet.en.rst     |   44 -
 .../api/TSHttpTxnClientPacketTosSet.en.rst      |   48 -
 doc/reference/api/TSHttpTxnClientReqGet.en.rst  |   30 -
 doc/reference/api/TSHttpTxnClientRespGet.en.rst |   30 -
 doc/reference/api/TSHttpTxnErrorBodySet.en.rst  |   39 -
 doc/reference/api/TSHttpTxnIntercept.en.rst     |   50 -
 doc/reference/api/TSHttpTxnMilestoneGet.en.rst  |   97 -
 .../api/TSHttpTxnNextHopAddrGet.en.rst          |   39 -
 .../api/TSHttpTxnParentProxySet.en.rst          |   37 -
 doc/reference/api/TSHttpTxnReenable.en.rst      |   42 -
 doc/reference/api/TSHttpTxnServerAddrGet.en.rst |   39 -
 .../api/TSHttpTxnServerIntercept.en.rst         |   69 -
 .../api/TSHttpTxnServerPacketDscpSet.en.rst     |   47 -
 .../api/TSHttpTxnServerPacketMarkSet.en.rst     |   46 -
 .../api/TSHttpTxnServerPacketTosSet.en.rst      |   50 -
 doc/reference/api/TSHttpTxnServerReqGet.en.rst  |   30 -
 doc/reference/api/TSHttpTxnServerRespGet.en.rst |   30 -
 doc/reference/api/TSHttpTxnSsnGet.en.rst        |   30 -
 .../api/TSHttpTxnTransformRespGet.en.rst        |   30 -
 .../api/TSHttpTxnTransformedRespCache.en.rst    |   30 -
 .../api/TSHttpTxnUntransformedRespCache.en.rst  |   30 -
 .../api/TSIOBufferBlockReadStart.en.rst         |   30 -
 doc/reference/api/TSIOBufferCopy.en.rst         |   30 -
 doc/reference/api/TSIOBufferCreate.en.rst       |   90 -
 doc/reference/api/TSInstallDirGet.en.rst        |   61 -
 doc/reference/api/TSLifecycleHookAdd.en.rst     |  112 -
 doc/reference/api/TSMBufferCreate.en.rst        |   97 -
 doc/reference/api/TSMgmtCounterGet.en.rst       |   30 -
 doc/reference/api/TSMgmtFloatGet.en.rst         |   30 -
 doc/reference/api/TSMgmtIntGet.en.rst           |   30 -
 doc/reference/api/TSMgmtStringGet.en.rst        |   30 -
 doc/reference/api/TSMgmtUpdateRegister.en.rst   |   30 -
 doc/reference/api/TSMimeHdrClone.en.rst         |   39 -
 doc/reference/api/TSMimeHdrCopy.en.rst          |   42 -
 doc/reference/api/TSMimeHdrCreate.en.rst        |   35 -
 doc/reference/api/TSMimeHdrDestroy.en.rst       |   33 -
 doc/reference/api/TSMimeHdrFieldAppend.en.rst   |   43 -
 doc/reference/api/TSMimeHdrFieldClone.en.rst    |   30 -
 doc/reference/api/TSMimeHdrFieldCopy.en.rst     |   30 -
 .../api/TSMimeHdrFieldCopyValues.en.rst         |   30 -
 doc/reference/api/TSMimeHdrFieldCreate.en.rst   |   30 -
 doc/reference/api/TSMimeHdrFieldDestroy.en.rst  |   36 -
 doc/reference/api/TSMimeHdrFieldFind.en.rst     |   41 -
 doc/reference/api/TSMimeHdrFieldGet.en.rst      |   40 -
 .../api/TSMimeHdrFieldLengthGet.en.rst          |   30 -
 doc/reference/api/TSMimeHdrFieldNameGet.en.rst  |   30 -
 doc/reference/api/TSMimeHdrFieldNameSet.en.rst  |   30 -
 doc/reference/api/TSMimeHdrFieldNext.en.rst     |   30 -
 doc/reference/api/TSMimeHdrFieldNextDup.en.rst  |   30 -
 doc/reference/api/TSMimeHdrFieldRemove.en.rst   |   46 -
 .../api/TSMimeHdrFieldValueAppend.en.rst        |   30 -
 .../api/TSMimeHdrFieldValueDateInsert.en.rst    |   30 -
 .../api/TSMimeHdrFieldValueDateSet.en.rst       |   30 -
 .../api/TSMimeHdrFieldValueIntSet.en.rst        |   30 -
 .../api/TSMimeHdrFieldValueStringGet.en.rst     |  113 -
 .../api/TSMimeHdrFieldValueStringInsert.en.rst  |   30 -
 .../api/TSMimeHdrFieldValueStringSet.en.rst     |   30 -
 .../api/TSMimeHdrFieldValueUintInsert.en.rst    |   30 -
 .../api/TSMimeHdrFieldValueUintSet.en.rst       |   30 -
 .../api/TSMimeHdrFieldValuesClear.en.rst        |   30 -
 .../api/TSMimeHdrFieldValuesCount.en.rst        |   30 -
 doc/reference/api/TSMimeHdrFieldsClear.en.rst   |   34 -
 doc/reference/api/TSMimeHdrFieldsCount.en.rst   |   34 -
 doc/reference/api/TSMimeHdrLengthGet.en.rst     |   36 -
 doc/reference/api/TSMimeHdrParse.en.rst         |   39 -
 doc/reference/api/TSMimeHdrPrint.en.rst         |   34 -
 doc/reference/api/TSMimeParserClear.en.rst      |   33 -
 doc/reference/api/TSMimeParserCreate.en.rst     |   38 -
 doc/reference/api/TSMimeParserDestroy.en.rst    |   33 -
 doc/reference/api/TSMutexCreate.en.rst          |   30 -
 doc/reference/api/TSMutexDestory.en.rst         |   31 -
 doc/reference/api/TSMutexLock.en.rst            |   30 -
 doc/reference/api/TSMutexLockTry.en.rst         |   30 -
 doc/reference/api/TSMutexUnlock.en.rst          |   30 -
 doc/reference/api/TSNetAccept.en.rst            |   30 -
 .../api/TSNetAcceptNamedProtocol.en.rst         |   54 -
 doc/reference/api/TSNetConnect.en.rst           |   30 -
 doc/reference/api/TSPluginInit.en.rst           |   77 -
 doc/reference/api/TSRemap.en.rst                |   87 -
 doc/reference/api/TSSslContextFindBy.en.rst     |   56 -
 doc/reference/api/TSTextLogObjectCreate.en.rst  |   60 -
 doc/reference/api/TSThreadCreate.en.rst         |   30 -
 doc/reference/api/TSThreadDestroy.en.rst        |   30 -
 doc/reference/api/TSThreadInit.en.rst           |   30 -
 doc/reference/api/TSThreadSelf.en.rst           |   30 -
 .../api/TSTrafficServerVersionGet.en.rst        |  100 -
 doc/reference/api/TSTransformCreate.en.rst      |   30 -
 .../api/TSTransformOutputVConnGet.en.rst        |   30 -
 doc/reference/api/TSTypes.en.rst                |  187 --
 doc/reference/api/TSUrlCreate.en.rst            |   87 -
 doc/reference/api/TSUrlDestroy.en.rst           |   43 -
 doc/reference/api/TSUrlFtpTypeGet.en.rst        |   33 -
 doc/reference/api/TSUrlFtpTypeSet.en.rst        |   34 -
 doc/reference/api/TSUrlHostGet.en.rst           |   81 -
 doc/reference/api/TSUrlHostSet.en.rst           |   76 -
 doc/reference/api/TSUrlPercentEncode.en.rst     |   69 -
 doc/reference/api/TSUrlStringGet.en.rst         |   69 -
 doc/reference/api/TSVConnAbort.en.rst           |   30 -
 .../api/TSVConnCacheObjectSizeGet.en.rst        |   30 -
 doc/reference/api/TSVConnClose.en.rst           |   30 -
 doc/reference/api/TSVConnClosedGet.en.rst       |   30 -
 doc/reference/api/TSVConnFdCreate.en.rst        |   63 -
 doc/reference/api/TSVConnIsSsl.en.rst           |   32 -
 doc/reference/api/TSVConnRead.en.rst            |   30 -
 doc/reference/api/TSVConnReadVIOGet.en.rst      |   30 -
 doc/reference/api/TSVConnReenable.en.rst        |   39 -
 doc/reference/api/TSVConnShutdown.en.rst        |   30 -
 .../api/TSVConnSslConnectionGet.en.rst          |   41 -
 doc/reference/api/TSVConnTunnel.en.rst          |   35 -
 doc/reference/api/TSVConnWrite.en.rst           |   30 -
 doc/reference/api/TSVConnWriteVIOGet.en.rst     |   30 -
 doc/reference/api/TSVIOBufferGet.en.rst         |   30 -
 doc/reference/api/TSVIOContGet.en.rst           |   30 -
 doc/reference/api/TSVIOMutexGet.en.rst          |   30 -
 doc/reference/api/TSVIONBytesGet.en.rst         |   30 -
 doc/reference/api/TSVIONBytesSet.en.rst         |   30 -
 doc/reference/api/TSVIONDoneGet.en.rst          |   30 -
 doc/reference/api/TSVIONDoneSet.en.rst          |   30 -
 doc/reference/api/TSVIONTodoGet.en.rst          |   30 -
 doc/reference/api/TSVIOReaderGet.en.rst         |   30 -
 doc/reference/api/TSVIOReenable.en.rst          |   30 -
 doc/reference/api/TSVIOVConnGet.en.rst          |   30 -
 doc/reference/api/TSfclose.en.rst               |   36 -
 doc/reference/api/TSfflush.en.rst               |   34 -
 doc/reference/api/TSfgets.en.rst                |   38 -
 doc/reference/api/TSfopen.en.rst                |   37 -
 doc/reference/api/TSfread.en.rst                |   34 -
 doc/reference/api/TSfwrite.en.rst               |   39 -
 doc/reference/api/TSmalloc.en.rst               |   81 -
 doc/reference/api/index.en.rst                  |   25 -
 doc/reference/commands/index.en.rst             |   36 -
 doc/reference/commands/traffic_cop.en.rst       |   68 -
 doc/reference/commands/traffic_crashlog.en.rst  |   94 -
 doc/reference/commands/traffic_line.en.rst      |  299 --
 doc/reference/commands/traffic_logcat.en.rst    |  106 -
 doc/reference/commands/traffic_logstats.en.rst  |   68 -
 doc/reference/commands/traffic_manager.en.rst   |   62 -
 doc/reference/commands/traffic_server.en.rst    |   91 -
 doc/reference/commands/traffic_top.en.rst       |   27 -
 doc/reference/commands/traffic_via.en.rst       |   90 -
 doc/reference/commands/traffic_wccp.en.rst      |   63 -
 doc/reference/commands/tspush.en.rst            |   36 -
 doc/reference/commands/tsxs.en.rst              |   49 -
 doc/reference/configuration/cache.config.en.rst |  203 --
 .../configuration/congestion.config.en.rst      |  198 --
 .../configuration/hosting.config.en.rst         |   98 -
 doc/reference/configuration/icp.config.en.rst   |   99 -
 doc/reference/configuration/index.en.rst        |   42 -
 .../configuration/ip_allow.config.en.rst        |   80 -
 .../configuration/log_hosts.config.en.rst       |   65 -
 .../configuration/logs_xml.config.en.rst        |  396 ---
 .../configuration/parent.config.en.rst          |  180 --
 .../configuration/plugin.config.en.rst          |   75 -
 .../configuration/records.config.en.rst         | 3028 ------------------
 doc/reference/configuration/remap.config.en.rst |  495 ---
 .../configuration/splitdns.config.en.rst        |  129 -
 .../configuration/ssl_multicert.config.en.rst   |  228 --
 .../configuration/storage.config.en.rst         |  186 --
 .../configuration/volume.config.en.rst          |   69 -
 doc/reference/plugins/authproxy.en.rst          |  110 -
 doc/reference/plugins/background_fetch.en.rst   |   91 -
 doc/reference/plugins/balancer.en.rst           |   83 -
 doc/reference/plugins/buffer_upload.en.rst      |   82 -
 doc/reference/plugins/cacheurl.en.rst           |   78 -
 doc/reference/plugins/combo_handler.en.rst      |   85 -
 doc/reference/plugins/conf_remap.en.rst         |   51 -
 doc/reference/plugins/epic.en.rst               |   46 -
 doc/reference/plugins/esi.en.rst                |  151 -
 doc/reference/plugins/generator.en.rst          |   69 -
 doc/reference/plugins/geoip_acl.en.rst          |   96 -
 doc/reference/plugins/gzip.en.rst               |   97 -
 doc/reference/plugins/header_rewrite.en.rst     |  245 --
 doc/reference/plugins/hipes.en.rst              |  126 -
 doc/reference/plugins/index.en.rst              |   84 -
 doc/reference/plugins/metalink.en.rst           |  123 -
 doc/reference/plugins/mysql_remap.en.rst        |   85 -
 doc/reference/plugins/regex_remap.en.rst        |  142 -
 doc/reference/plugins/s3_auth.en.rst            |   84 -
 doc/reference/plugins/sslheaders.en.rst         |   91 -
 .../plugins/stale_while_revalidate.en.rst       |   23 -
 doc/reference/plugins/stats_over_http.en.rst    |   68 -
 doc/reference/plugins/tcpinfo.en.rst            |  123 -
 doc/reference/plugins/ts_lua.en.rst             | 2911 -----------------
 doc/reference/plugins/xdebug.en.rst             |   83 -
 doc/sdk/actions-guide.en.rst                    |  178 -
 doc/sdk/actions-guide/hosts-lookup-api.en.rst   |   28 -
 doc/sdk/adding-statistics.en.rst                |   70 -
 .../adding-statistics/coupled-statistics.en.rst |  117 -
 ...viewing-statistics-using-traffic-line.en.rst |   35 -
 doc/sdk/continuations.en.rst                    |  131 -
 .../how-to-activate-continuations.en.rst        |   36 -
 .../writing-handler-functions.en.rst            |  125 -
 doc/sdk/getting-started.en.rst                  |  244 --
 doc/sdk/getting-started/a-simple-plugin.en.rst  |  122 -
 .../getting-started/naming-conventions.en.rst   |   51 -
 ...gin-registration-and-version-checking.en.rst |   85 -
 doc/sdk/header-based-plugin-examples.en.rst     |   70 -
 .../basic-authorization-plugin.en.rst           |   44 -
 ...d-getting-a-handle-to-the-transaction.en.rst |   44 -
 .../setting-a-transaction-hook.en.rst           |   55 -
 .../working-with-http-headers.en.rst            |   96 -
 .../blacklist-plugin.en.rst                     |  106 -
 ...ssing-the-transaction-being-processed.en.rst |   60 -
 .../setting-a-global-hook.en.rst                |   36 -
 .../setting-up-a-transaction-hook.en.rst        |   82 -
 .../working-with-http-header-functions.en.rst   |   61 -
 .../how-to-create-trafficserver-plugins.en.rst  |  241 --
 .../roadmap-for-creating-plugins.en.rst         |   86 -
 doc/sdk/http-headers.en.rst                     |  140 -
 ...e-to-trafficserver-http-header-system.en.rst |   58 -
 ...plicate-mime-fields-are-not-coalesced.en.rst |   31 -
 ...s-belong-to-an-associated-mime-header.en.rst |   67 -
 .../release-marshal-buffer-handles.en.rst       |   79 -
 doc/sdk/http-headers/http-headers.en.rst        |  186 --
 doc/sdk/http-headers/marshal-buffers.en.rst     |   51 -
 doc/sdk/http-headers/mime-headers.en.rst        |  437 ---
 doc/sdk/http-headers/urls.en.rst                |  132 -
 doc/sdk/http-hooks-and-transactions.en.rst      |  155 -
 .../adding-hooks.en.rst                         |  151 -
 .../http-alternate-selection.en.rst             |  189 --
 .../http-sessions.en.rst                        |   52 -
 .../http-transactions.en.rst                    |  203 --
 .../initiate-http-connection.en.rst             |   25 -
 .../intercepting-http-transactions.en.rst       |   30 -
 doc/sdk/http-transformation-plugin.en.rst       |  183 --
 .../append-transform-plugin.en.rst              |  144 -
 ...e-buffered-null-transformation-plugin.en.rst |  212 --
 .../sample-null-transformation-plugin.en.rst    |  217 --
 doc/sdk/index.en.rst                            |   70 -
 doc/sdk/io-guide.en.rst                         |  194 --
 doc/sdk/io-guide/guide-to-cache-api.en.rst      |   68 -
 .../io-guide/guide-to-cache-api/errors.en.rst   |   31 -
 .../io-guide/guide-to-cache-api/example.en.rst  |   73 -
 .../how-to-do-a-cache-remove.en.rst             |   31 -
 .../how-to-do-a-cache-write.en.rst              |   34 -
 doc/sdk/io-guide/io-buffers.en.rst              |   52 -
 doc/sdk/io-guide/net-vconnections.en.rst        |   31 -
 doc/sdk/io-guide/transformations.en.rst         |  179 --
 doc/sdk/io-guide/vios.en.rst                    |   58 -
 doc/sdk/misc-interface-guide.en.rst             |   60 -
 .../memory-allocation.en.rst                    |   46 -
 .../thread-functions.en.rst                     |   34 -
 .../misc-interface-guide/tsfopen-family.en.rst  |   54 -
 doc/sdk/mutex-guide.en.rst                      |  401 ---
 doc/sdk/new-protocol-plugins.en.rst             |  372 ---
 doc/sdk/plugin-configurations.en.rst            |  115 -
 doc/sdk/plugin-management.en.rst                |   28 -
 .../guide-to-the-logging-api.en.rst             |  116 -
 ...trafficserver-settings-and-statistics.en.rst |   55 -
 doc/sdk/preface.en.rst                          |   47 -
 doc/sdk/preface/how-to-use-this-book.en.rst     |  130 -
 .../preface/typographical-conventions.en.rst    |   36 -
 doc/sdk/remap-plugin.en.rst                     |   75 -
 doc/sdk/remap-plugin/example-query-remap.en.rst |  150 -
 doc/sdk/sample-source-code.en.rst               |  307 --
 doc/sdk/skeleton                                |  134 -
 doc/sdk/troubleshooting-tips.en.rst             |   55 -
 .../debugging-memory-leaks.en.rst               |   31 -
 .../unable-to-debug-tags.en.rst                 |  109 -
 .../unable-to-load-plugins.en.rst               |   36 -
 .../using-a-debugger.en.rst                     |   39 -
 doc/static/override.css                         |   10 +
 811 files changed, 46131 insertions(+), 38287 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/ce162a6d/doc/admin-guide/configuration/cache-basics.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin-guide/configuration/cache-basics.en.rst b/doc/admin-guide/configuration/cache-basics.en.rst
new file mode 100644
index 0000000..5770ad9
--- /dev/null
+++ b/doc/admin-guide/configuration/cache-basics.en.rst
@@ -0,0 +1,904 @@
+.. Licensed to the Apache Software Foundation (ASF) under one
+   or more contributor license agreements.  See the NOTICE file
+   distributed with this work for additional information
+   regarding copyright ownership.  The ASF licenses this file
+   to you under the Apache License, Version 2.0 (the
+   "License"); you may not use this file except in compliance
+   with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing,
+   software distributed under the License is distributed on an
+   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+   KIND, either express or implied.  See the License for the
+   specific language governing permissions and limitations
+   under the License.
+
+.. include:: ../../common.defs
+
+.. _http-proxy-caching:
+
+HTTP Proxy Caching
+******************
+
+HTTP proxy caching enables you to store copies of frequently-accessed web
+objects (such as documents, images, and articles) and then serve this
+information to users on demand. It improves performance and frees up
+Internet bandwidth for other tasks.
+
+.. toctree::
+   :maxdepth: 2
+
+Understanding HTTP Web Proxy Caching
+====================================
+
+Internet users direct their requests to web servers all over the
+Internet. A caching server must act as a *web proxy server* so it can
+serve those requests. After a web proxy server receives requests for web
+objects, it either serves the requests or forwards them to the *origin
+server* (the web server that contains the original copy of the
+requested information). The Traffic Server proxy supports *explicit
+proxy caching*, in which the user's client software must be configured
+to send requests directly to the Traffic Server proxy. The following
+overview illustrates how Traffic Server serves a request.
+
+#. Traffic Server receives a client request for a web object.
+
+#. Using the object address, Traffic Server tries to locate the
+   requested object in its object database (*cache*).
+
+#. If the object is in the cache, then Traffic Server checks to see if
+   the object is fresh enough to serve. If it is fresh, then Traffic
+   Server serves it to the client as a *cache hit* (see the figure
+   below).
+
+   .. figure:: ../static/images/admin/cache_hit.jpg
+      :align: center
+      :alt: A cache hit
+
+      A cache hit
+
+#. If the data in the cache is stale, then Traffic Server connects to
+   the origin server and checks if the object is still fresh (a
+   :term:`revalidation`). If it is, then Traffic Server immediately sends
+   the cached copy to the client.
+
+#. If the object is not in the cache (a *cache miss*) or if the server
+   indicates the cached copy is no longer valid, then Traffic Server
+   obtains the object from the origin server. The object is then
+   simultaneously streamed to the client and the Traffic Server local
+   cache (see the figure below). Subsequent requests for the object can
+   be served faster because the object is retrieved directly from cache.
+
+   .. figure:: /static/images/admin/cache_miss.jpg
+      :align: center
+      :alt: A cache miss
+
+      A cache miss
+
+Caching is typically more complex than the preceding overview suggests.
+In particular, the overview does not discuss how Traffic Server ensures
+freshness, serves correct HTTP alternates, and treats requests for
+objects that cannot or should not be cached. The following sections discuss
+these issues in greater detail.
+
+.. _ensuring-cached-object-freshness:
+
+Ensuring Cached Object Freshness
+================================
+
+When Traffic Server receives a request for a web object, it first tries
+to locate the requested object in its cache. If the object is in cache,
+then Traffic Server checks to see if the object is fresh enough to
+serve. For HTTP objects, Traffic Server supports optional
+author-specified expiration dates. Traffic Server adheres to these
+expiration dates; otherwise, it picks an expiration date based on how
+frequently the object is changing and on administrator-chosen freshness
+guidelines. Objects can also be revalidated by checking with the origin
+server to see if an object is still fresh.
+
+HTTP Object Freshness
+---------------------
+
+Traffic Server determines whether an HTTP object in the cache is fresh
+by checking the following conditions in order:
+
+-  **Checking the** ``Expires`` **or** ``max-age`` **header**
+
+   Some HTTP objects contain ``Expires`` headers or ``max-age`` headers
+   that explicitly define how long the object can be cached. Traffic
+   Server compares the current time with the expiration time to
+   determine if the object is still fresh.
+
+-  **Checking the** ``Last-Modified`` **/** ``Date`` **header**
+
+   If an HTTP object has no ``Expires`` header or ``max-age`` header,
+   then Traffic Server can calculate a freshness limit using the
+   following formula::
+
+      freshness_limit = ( date - last_modified ) * 0.10
+
+   where *date* is the date in the object's server response header
+   and *last_modified* is the date in the ``Last-Modified`` header.
+   If there is no ``Last-Modified`` header, then Traffic Server uses the
+   date the object was written to cache. The value ``0.10`` (10 percent)
+   can be increased or reduced to better suit your needs. Refer to
+   `Modifying Aging Factor for Freshness Computations`_.
+
+   The computed freshness limit is bound by a minimum and maximum value.
+   Refer to `Setting Absolute Freshness Limits`_ for more information.
+
+-  **Checking the absolute freshness limit**
+
+   For HTTP objects that do not have ``Expires`` headers or do not have
+   both ``Last-Modified`` and ``Date`` headers, Traffic Server uses a
+   maximum and minimum freshness limit. Refer to
+   `Setting Absolute Freshness Limits`_.
+
+-  **Checking revalidate rules in** :file:`cache.config`
+
+   Revalidate rules apply freshness limits to specific HTTP objects. You
+   can set freshness limits for objects originating from particular
+   domains or IP addresses, objects with URLs that contain specified
+   regular expressions, objects requested by particular clients, and so
+   on. Refer to :file:`cache.config`.
+
+Modifying Aging Factor for Freshness Computations
+-------------------------------------------------
+
+If an object does not contain any expiration information, then Traffic
+Server can estimate its freshness from the ``Last-Modified`` and
+``Date`` headers. By default, Traffic Server stores an object for 10% of
+the time that elapsed since it last changed. You can increase or reduce
+the percentage according to your needs.
+
+To modify the aging factor for freshness computations:
+
+#. Change the value for :ts:cv:`proxy.config.http.cache.heuristic_lm_factor`.
+
+#. Run the :option:`traffic_ctl config reload` command to apply the configuration changes.
+
+Setting Absolute Freshness Limits
+---------------------------------
+
+Some objects do not have ``Expires`` headers or do not have both
+``Last-Modified`` and ``Date`` headers. To control how long these
+objects are considered fresh in the cache, specify an *absolute
+freshness limit*.
+
+To specify an absolute freshness limit:
+
+#. Edit the variables :ts:cv:`proxy.config.http.cache.heuristic_min_lifetime`
+   and :ts:cv:`proxy.config.http.cache.heuristic_max_lifetime` in
+   :file:`records.config`.
+
+#. Run the :option:`traffic_ctl config reload` command to apply the configuration changes.
+
+Specifying Header Requirements
+------------------------------
+
+To further ensure freshness of the objects in the cache, configure
+Traffic Server to cache only objects with specific headers. By default,
+Traffic Server caches all objects (including objects with no headers);
+you should change the default setting only for specialized proxy
+situations. If you configure Traffic Server to cache only HTTP objects
+with ``Expires`` or ``max-age`` headers, then the cache hit rate will be
+noticeably reduced (since very few objects will have explicit expiration
+information).
+
+To configure Traffic Server to cache objects with specific headers:
+
+#. Change the value for :ts:cv:`proxy.config.http.cache.required_headers`
+   in :file:`records.config`.
+
+#. Run the :option:`traffic_ctl config reload` command to apply the configuration changes.
+
+Cache-Control Headers
+---------------------
+
+Even though an object might be fresh in the cache, clients or servers
+often impose their own constraints that preclude retrieval of the object
+from the cache. For example, a client might request that a object not
+be retrieved from a cache, or if it does allow cache retrieval, then it
+cannot have been cached for more than 10 minutes.
+
+Traffic Server bases the servability of a cached object on ``Cache-Control``
+headers that appear in both client requests and server responses. The following
+``Cache-Control`` headers affect whether objects are served from cache:
+
+-  The ``no-cache`` header, sent by clients, tells Traffic Server that
+   it should not serve any objects directly from the cache. When present in a
+   client request, Traffic Server will always obtain the object from the
+   origin server. You can configure Traffic Server to ignore client
+   ``no-cache`` headers. Refer to `Configuring Traffic Server to Ignore Client no-cache Headers`_
+   for more information.
+
+-  The ``max-age`` header, sent by servers, is compared to the object
+   age. If the age is less than ``max-age``, then the object is fresh
+   and can be served from the Traffic Server cache.
+
+-  The ``min-fresh`` header, sent by clients, is an *acceptable
+   freshness tolerance*. This means that the client wants the object to
+   be at least this fresh. Unless a cached object remains fresh at least
+   this long in the future, it is revalidated.
+
+-  The ``max-stale`` header, sent by clients, permits Traffic Server to
+   serve stale objects provided they are not too old. Some browsers
+   might be willing to take slightly stale objects in exchange for
+   improved performance, especially during periods of poor Internet
+   availability.
+
+Traffic Server applies ``Cache-Control`` servability criteria after HTTP
+freshness criteria. For example, an object might be considered fresh but will
+not be served if its age is greater than its ``max-age``.
+
+Revalidating HTTP Objects
+-------------------------
+
+When a client requests an HTTP object that is stale in the cache,
+Traffic Server revalidates the object. A *revalidation* is a query to
+the origin server to check if the object is unchanged. The result of a
+revalidation is one of the following:
+
+-  If the object is still fresh, then Traffic Server resets its
+   freshness limit and serves the object.
+
+-  If a new copy of the object is available, then Traffic Server caches
+   the new object (thereby replacing the stale copy) and simultaneously
+   serves the object to the client.
+
+-  If the object no longer exists on the origin server, then Traffic
+   Server does not serve the cached copy.
+
+-  If the origin server does not respond to the revalidation query, then
+   Traffic Server serves the stale object along with a
+   ``111 Revalidation Failed`` warning.
+
+By default, Traffic Server revalidates a requested HTTP object in the
+cache if it considers the object to be stale. Traffic Server evaluates
+object freshness as described in `HTTP Object Freshness`_.
+You can reconfigure how Traffic Server evaluates freshness by selecting
+one of the following options:
+
+*Traffic Server considers all HTTP objects in the cache to be stale:*
+    Always revalidate HTTP objects in the cache with the origin server.
+
+*Traffic Server considers all HTTP objects in the cache to be fresh:*
+    Never revalidate HTTP objects in the cache with the origin server.
+
+*Traffic Server considers all HTTP objects without* ``Expires`` *or* ``Cache-control`` *headers to be stale:*
+    Revalidate all HTTP objects without ``Expires`` or ``Cache-Control`` headers.
+
+To configure how Traffic Server revalidates objects in the cache, you
+can set specific revalidation rules in :file:`cache.config`.
+
+To configure revalidation options
+
+#. Edit the variable :ts:cv:`proxy.config.http.cache.when_to_revalidate`
+   in :file:`records.config`.
+
+#. Run the :option:`traffic_ctl config reload` command to apply the configuration changes.
+
+.. _pushing-content-into-the-cache:
+
+Pushing Content into the Cache
+==============================
+
+Traffic Server supports the HTTP ``PUSH`` method of content delivery.
+Using HTTP ``PUSH``, you can deliver content directly into the cache
+without client requests.
+
+Configuring Traffic Server for PUSH Requests
+--------------------------------------------
+
+Before you can deliver content into your cache using HTTP ``PUSH``, you
+must configure Traffic Server to accept ``PUSH`` requests.
+
+#. Edit :file:`ip_allow.config` to allow ``PUSH`` from the appropriate addresses.
+
+#. Update :ts:cv:`proxy.config.http.push_method_enabled` in
+   :file:`records.config`::
+
+        CONFIG proxy.config.http.push_method_enabled INT 1
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Understanding HTTP PUSH
+-----------------------
+
+``PUSH`` uses the HTTP 1.1 message format. The body of a ``PUSH``
+request contains the response header and response body that you want to
+place in the cache. The following is an example of a ``PUSH`` request::
+
+   PUSH http://www.company.com HTTP/1.0
+   Content-length: 84
+
+   HTTP/1.0 200 OK
+   Content-type: text/html
+   Content-length: 17
+
+   <HTML>
+   a
+   </HTML>
+
+.. important::
+
+   Your ``PUSH`` headers must include ``Content-length``, the value for which
+   must include both headers and body byte counts. The value is not optional,
+   and an improper (too large or too small) value will result in undesirable
+   behavior.
+
+Tools that will help manage pushing
+-----------------------------------
+
+Traffic Server comes with a Perl script for pushing, :program:`tspush`,
+which can assist with understanding how to write scripts for pushing
+content yourself.
+
+Pinning Content in the Cache
+============================
+
+The *Cache Pinning Option* configures Traffic Server to keep certain
+HTTP objects in the cache for a specified time. You can use this option
+to ensure that the most popular objects are in cache when needed and to
+prevent Traffic Server from deleting important objects. Traffic Server
+observes ``Cache-Control`` headers and pins an object in the cache only
+if it is indeed cacheable.
+
+To set cache pinning rules:
+
+#. Enable :ts:cv:`proxy.config.cache.permit.pinning` in :file:`records.config`::
+
+        CONFIG proxy.config.cache.permit.pinning INT 1
+
+#. Add a rule in :file:`cache.config` for each URL you want Traffic Server to
+   pin in the cache. For example::
+
+      url_regex=^https?://(www.)?apache.org/dev/ pin-in-cache=12h
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Caching HTTP Objects
+====================
+
+When Traffic Server receives a request for a web object that is not in
+the cache, it retrieves the object from the origin server and serves it
+to the client. At the same time, Traffic Server checks if the object is
+cacheable before storing it in its cache to serve future requests.
+
+Traffic Server responds to caching directives from clients and origin
+servers, as well as directives you specify through configuration options
+and files.
+
+Client Directives
+-----------------
+
+By default, Traffic Server does not cache objects with the following
+request headers:
+
+-  ``Authorization``
+
+-  ``Cache-Control: no-store``
+
+-  ``Cache-Control: no-cache``
+
+   To configure Traffic Server to ignore this request header, refer to
+   `Configuring Traffic Server to Ignore Client no-cache Headers`_.
+
+-  ``Cookie`` (for text objects)
+
+   By default, Traffic Server caches objects served in response to
+   requests that contain cookies (unless the object is text). You can
+   configure Traffic Server to not cache cookied content of any type,
+   cache all cookied content, or cache cookied content that is of image
+   type only. For more information, refer to `Caching Cookied Objects`_.
+
+Configuring Traffic Server to Ignore Client no-cache Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, Traffic Server strictly observes client
+``Cache-Control: no-cache`` directives. If a requested object contains a
+``no-cache`` header, then Traffic Server forwards the request to the
+origin server even if it has a fresh copy in cache. You can configure
+Traffic Server to ignore client ``no-cache`` directives such that it
+ignores ``no-cache`` headers from client requests and serves the object
+from its cache.
+
+#. Edit :ts:cv:`proxy.config.http.cache.ignore_client_no_cache` in
+   :file:`records.config`. ::
+
+        CONFIG proxy.config.http.cache.ignore_client_no_cache INT 1
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Origin Server Directives
+------------------------
+
+By default, Traffic Server does not cache objects with the following response
+headers:
+
+-  ``Cache-Control: no-store``
+
+-  ``Cache-Control: private``
+
+-  ``WWW-Authenticate``
+
+   To configure Traffic Server to ignore ``WWW-Authenticate`` headers,
+   refer to `Configuring Traffic Server to Ignore WWW-Authenticate Headers`_.
+
+-  ``Set-Cookie``
+
+-  ``Cache-Control: no-cache``
+
+   To configure Traffic Server to ignore ``no-cache`` headers, refer to
+   `Configuring Traffic Server to Ignore Server no-cache Headers`_.
+
+-  ``Expires`` header with a value of 0 (zero) or a past date.
+
+Configuring Traffic Server to Ignore Server no-cache Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, Traffic Server strictly observes ``Cache-Control: no-cache``
+directives. A response from an origin server with a ``no-cache`` header
+is not stored in the cache and any previous copy of the object in the
+cache is removed. If you configure Traffic Server to ignore ``no-cache``
+headers, then Traffic Server also ignores ``no-store`` headers. The
+default behavior of observing ``no-cache`` directives is appropriate
+in most cases.
+
+To configure Traffic Server to ignore server ``no-cache`` headers:
+
+#. Edit :ts:cv:`proxy.config.http.cache.ignore_server_no_cache` in
+   :file:`records.config`. ::
+
+        CONFIG proxy.config.http.cache.ignore_server_no_cache INT 1
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Configuring Traffic Server to Ignore WWW-Authenticate Headers
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, Traffic Server does not cache objects that contain
+``WWW-Authenticate`` response headers. The ``WWW-Authenticate`` header
+contains authentication parameters the client uses when preparing the
+authentication challenge response to an origin server.
+
+When you configure Traffic Server to ignore origin server
+``WWW-Authenticate`` headers, all objects with ``WWW-Authenticate``
+headers are stored in the cache for future requests. However, the
+default behavior of not caching objects with ``WWW-Authenticate``
+headers is appropriate in most cases. Only configure Traffic Server to
+ignore server ``WWW-Authenticate`` headers if you are knowledgeable
+about HTTP 1.1.
+
+To configure Traffic Server to ignore server ``WWW-Authenticate``
+headers:
+
+#. Edit :ts:cv:`proxy.config.http.cache.ignore_authentication` in
+   :file:`records.config`. ::
+
+        CONFIG proxy.config.http.cache.ignore_authentication INT 1
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Configuration Directives
+------------------------
+
+In addition to client and origin server directives, Traffic Server
+responds to directives you specify through configuration options and
+files.
+
+You can configure Traffic Server to do the following:
+
+-  Not cache any HTTP objects. Refer to `Disabling HTTP Object Caching`_.
+
+-  Cache *dynamic content*. That is, objects with URLs that end in ``.asp`` or
+   contain a question mark (``?``), semicolon (``;``), or ``cgi``. For more
+   information, refer to `Caching Dynamic Content`_.
+
+-  Cache objects served in response to the ``Cookie:`` header. Refer to
+   `Caching Cookied Objects`_.
+
+-  Observe ``never-cache`` rules in :file:`cache.config`.
+
+Disabling HTTP Object Caching
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+By default, Traffic Server caches all HTTP objects except those for
+which you have set ``never-cache`` as :ref:`action rules <cache-config-format-action>`
+in :file:`cache.config`. You can disable HTTP object caching so that all HTTP
+objects are served directly from the origin server and never cached, as
+detailed below.
+
+To disable HTTP object caching manually:
+
+#. Set :ts:cv:`proxy.config.http.enabled` to ``0`` in :file:`records.config`. ::
+
+        CONFIG proxy.config.http.enabled INT 0
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Caching Dynamic Content
+~~~~~~~~~~~~~~~~~~~~~~~
+
+A URL is considered dynamic if it ends in ``.asp`` or contains a
+question mark (``?``), a semicolon (``;``), or ``cgi``. By
+default, Traffic Server caches dynamic content. You can configure the
+system to ignore dynamic looking content, although this is recommended
+only if the content is truly dynamic, but fails to advertise so with
+appropriate ``Cache-Control`` headers.
+
+To configure Traffic Server's cache behaviour in regard to dynamic
+content:
+
+#. Edit :ts:cv:`proxy.config.http.cache.cache_urls_that_look_dynamic` in
+   :file:`records.config`. To disable caching, set the variable to ``0``,
+   and to explicitly permit caching use ``1``. ::
+
+        CONFIG proxy.config.http.cache.cache_urls_that_look_dynamic INT 0
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Caching Cookied Objects
+~~~~~~~~~~~~~~~~~~~~~~~
+
+.. XXX This should be extended to xml as well!
+
+By default, Traffic Server caches objects served in response to requests
+that contain cookies. This is true for all types of objects except for
+text. Traffic Server does not cache cookied text content because object
+headers are stored along with the object, and personalized cookie header
+values could be saved with the object. With non-text objects, it is
+unlikely that personalized headers are delivered or used.
+
+You can reconfigure Traffic Server to:
+
+-  Not cache cookied content of any type.
+
+-  Cache cookied content that is of image type only.
+
+-  Cache all cookied content regardless of type.
+
+To configure how Traffic Server caches cookied content:
+
+#. Edit :ts:cv:`proxy.config.http.cache.cache_responses_to_cookies` in
+   :file:`records.config`.
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Forcing Object Caching
+======================
+
+You can force Traffic Server to cache specific URLs (including dynamic
+URLs) for a specified duration, regardless of ``Cache-Control`` response
+headers.
+
+To force document caching:
+
+#. Add a rule for each URL you want Traffic Server to pin to the cache
+   :file:`cache.config`::
+
+       url_regex=^https?://(www.)?apache.org/dev/ ttl-in-cache=6h
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+Caching HTTP Alternates
+=======================
+
+Some origin servers answer requests to the same URL with a variety of
+objects. The content of these objects can vary widely, according to
+whether a server delivers content for different languages, targets
+different browsers with different presentation styles, or provides
+different document formats (HTML, XML). Different versions of the same
+object are termed *alternates* and are cached by Traffic Server based
+on ``Vary`` response headers. You can specify additional request and
+response headers for specific ``Content-Type`` values that Traffic Server
+will identify as alternates for caching. You can also limit the number
+of alternate versions of an object allowed in the cache.
+
+Configuring How Traffic Server Caches Alternates
+------------------------------------------------
+
+To configure how Traffic Server caches alternates:
+
+#. Edit the following variables in :file:`records.config`:
+
+   -  :ts:cv:`proxy.config.http.cache.enable_default_vary_headers`
+   -  :ts:cv:`proxy.config.http.cache.vary_default_text`
+   -  :ts:cv:`proxy.config.http.cache.vary_default_images`
+   -  :ts:cv:`proxy.config.http.cache.vary_default_other`
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+.. note::
+
+   If you specify ``Cookie`` as the header field on which to vary
+   in the above variables, make sure that the variable
+   :ts:cv:`proxy.config.http.cache.cache_responses_to_cookies`
+   is set appropriately.
+
+Limiting the Number of Alternates for an Object
+-----------------------------------------------
+
+You can limit the number of alternates Traffic Server can cache per
+object (the default is 3).
+
+.. important::
+
+   Large numbers of alternates can affect Traffic Server
+   cache performance because all alternates have the same URL. Although
+   Traffic Server can look up the URL in the index very quickly, it must
+   scan sequentially through available alternates in the object store.
+
+To alter the limit on the number of alternates:
+
+#. Edit :ts:cv:`proxy.config.cache.limits.http.max_alts` in :file:`records.config`. ::
+
+    CONFIG proxy.config.cache.limits.http.max_alts INT 5
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+.. _using-congestion-control:
+
+Using Congestion Control
+========================
+
+The *Congestion Control* option enables you to configure Traffic
+Server to stop forwarding HTTP requests to origin servers when they
+become congested. Traffic Server then sends the client a message to
+retry the congested origin server later.
+
+To enable this option:
+
+#. Set :ts:cv:`proxy.config.http.congestion_control.enabled` to ``1`` in
+   :file:`records.config`. ::
+
+        CONFIG proxy.config.http.congestion_control.enabled INT 1
+
+#. Create rules in :file:`congestion.config` to specify:
+
+   -  Which origin servers Traffic Server tracks for congestion.
+
+   -  The timeouts Traffic Server uses, depending on whether a server is
+      congested.
+
+   -  The page Traffic Server sends to the client when a server becomes
+      congested.
+
+   -  Whether Traffic Server tracks the origin servers by IP address or by
+      hostname.
+
+#. Run the command :option:`traffic_ctl config reload` to apply the configuration changes.
+
+.. _transaction-buffering-control:
+
+Using Transaction Buffering Control
+===================================
+
+By default, I/O operations are run at full speed, as fast as either Traffic
+Server, the network, or the cache can support. This can be problematic for
+large objects if the client side connection is significantly slower. In such
+cases the content will be buffered in ram while waiting to be sent to the
+client. This could potentially also happen for ``POST`` requests if the client
+connection is fast and the origin server connection slow. If very large objects
+are being used this can cause the memory usage of Traffic Server to become
+`very large <https://issues.apache.org/jira/browse/TS-1496>`_.
+
+This problem can be ameloriated by controlling the amount of buffer space used
+by a transaction. A high water and low water mark are set in terms of bytes
+used by the transaction. If the buffer space in use exceeds the high water
+mark, the connection is throttled to prevent additional external data from
+arriving. Internal operations continue to proceed at full speed until the
+buffer space in use drops below the low water mark and external data I/O is
+re-enabled.
+
+Although this is intended primarily to limit the memory usage of Traffic Server
+it can also serve as a crude rate limiter by setting a buffer limit and then
+throttling the client side connection either externally or via a transform.
+This will cause the connection to the origin server to be limited to roughly
+the client side connection speed.
+
+Traffic Server does network I/O in large chunks (32K or so) and therefore the
+granularity of transaction buffering control is limited to a similar precision.
+
+The buffer size calculations include all elements in the transaction, including
+any buffers associated with :ref:`transform plugins <developer-plugins-http-transformations>`.
+
+Transaction buffering control can be enabled globally by using configuration
+variables or by :c:func:`TSHttpTxnConfigIntSet` in a plugin.
+
+================= ================================================== ================================================
+Value             Variable                                           :c:func:`TSHttpTxnConfigIntSet` key
+================= ================================================== ================================================
+Enable buffering  :ts:cv:`proxy.config.http.flow_control.enabled`    :c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_ENABLED`
+Set high water    :ts:cv:`proxy.config.http.flow_control.high_water` :c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_HIGH_WATER`
+Set low water     :ts:cv:`proxy.config.http.flow_control.low_water`  :c:data:`TS_CONFIG_HTTP_FLOW_CONTROL_LOW_WATER`
+================= ================================================== ================================================
+
+Be careful to always have the low water mark equal or less than the high water
+mark. If you set only one, the other will be set to the same value.
+
+If using :c:func:`TSHttpTxnConfigIntSet`, it must be called no later than
+:c:data:`TS_HTTP_READ_RESPONSE_HDR_HOOK`.
+
+.. _admin-configuration-reducing-origin-requests:
+
+Reducing Origin Server Requests (Avoiding the Thundering Herd)
+==============================================================
+
+When an object can not be served from cache, the request will be proxied to the
+origin server. For a popular object, this can result in many near simultaneous
+requests to the origin server, potentially overwhelming it or associated
+resources. There are several features in Traffic Server that can be used to
+avoid this scenario.
+
+Read While Writer
+-----------------
+
+When Traffic Server goes to fetch something from origin, and upon receiving
+the response, any number of clients can be allowed to start serving the
+partially filled cache object once background_fill_completed_threshold % of the
+object has been received.
+
+While some other HTTP proxies permit clients to begin reading the response
+immediately upon the proxy receiving data from the origin server, ATS does not
+begin allowing clients to read until after the complete HTTP response headers
+have been read and processed. This is a side-effect of ATS making no
+distinction between a cache refresh and a cold cache, which prevents knowing
+whether a response is going to be cacheable.
+
+As non-cacheable responses from an origin server are generally due to that
+content being unique to different client requests, ATS will not enable
+read-while-writer functionality until it has determined that it will be able
+to cache the object.
+
+The following settings must be made in :file:`records.config` to enable
+read-while-writer functionality in ATS::
+
+    CONFIG proxy.config.cache.enable_read_while_writer INT 1
+    CONFIG proxy.config.http.background_fill_active_timeout INT 0
+    CONFIG proxy.config.http.background_fill_completed_threshold FLOAT 0.000000
+    CONFIG proxy.config.cache.max_doc_size INT 0
+
+All four configurations are required, for the following reasons:
+
+-  :ts:cv:`proxy.config.cache.enable_read_while_writer` being set to ``1`` turns
+   the feature on, as it is off (``0``) by default.
+
+.. _background_fill:
+
+-  The background fill feature (both
+   :ts:cv:`proxy.config.http.background_fill_active_timeout` and
+   :ts:cv:`proxy.config.http.background_fill_completed_threshold`) should be
+   allowed to kick in for every possible request. This is necessary in the event
+   the writer (the first client session to request the object, which triggered
+   ATS to contact the origin server) goes away. Another client session needs to
+   take over the writer.
+
+   As such, you should set the background fill timeouts and threshold to zero;
+   this assures they never time out and are always allowed to kick in.
+
+-  The :ts:cv:`proxy.config.cache.max_doc_size` should be unlimited (set to 0),
+   since the object size may be unknown, and going over this limit would cause
+   a disconnect on the objects being served.
+
+Once these are enabled, you have something that is very close, but not quite
+the same, to Squid's Collapsed Forwarding.
+
+In addition to the above settings, the settings :ts:cv:`proxy.config.cache.read_while_writer.max_retries`
+and :ts:cv:`proxy.config.cache.read_while_writer_retry.delay` allow to control the number
+of retries TS attempts to trigger read-while-writer until the download of first fragment
+of the object is completed::
+
+    CONFIG proxy.config.cache.read_while_writer.max_retries INT 10
+
+    CONFIG proxy.config.cache.read_while_writer_retry.delay INT 50
+
+.. _fuzzy-revalidation:
+
+Fuzzy Revalidation
+------------------
+
+Traffic Server can be set to attempt to revalidate an object before it becomes
+stale in cache. :file:`records.config` contains the settings::
+
+    CONFIG proxy.config.http.cache.fuzz.time INT 240
+    CONFIG proxy.config.http.cache.fuzz.min_time INT 0
+    CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.005
+
+For every request for an object that occurs
+:ts:cv:`proxy.config.http.cache.fuzz.time` before (in the example above, 240
+seconds) the object is set to become stale, there is a small
+chance (:ts:cv:`proxy.config.http.cache.fuzz.probability` == 0.5%) that the
+request will trigger a revalidation request to the origin.
+
+.. note::
+
+    When revalidation occurs, the requested object is no longer available to be
+    served from cache. Subsequent requests for that object will be proxied to
+    the origin.
+
+For objects getting a few requests per second, these settings would offer a
+fairly low probability of revalidating the cached object before it becomes
+stale. This feature is not typically necessary at those rates, though, since
+odds are only one or a small number of connections would hit origin upon the
+objects going stale.
+
+Once request raise rise, the same ``fuzz.probability`` leads to a greater
+chance the object may be revalidated before becoming stale. This can prevent
+multiple clients simultaneously triggering contact with the origin server
+under higher loads, as they would do if no fuzziness was employed for
+revalidations.
+
+These settings are also overridable by remap rules and via plugins, so can be
+adjusted per request if necessary.
+
+Finally, :ts:cv:`proxy.config.http.cache.fuzz.min_time` allows for
+different time periods to evaluate the probability of revalidation for small
+TTLs and large TTLs. Objects with small TTLs will start "rolling the
+revalidation dice" near the ``fuzz.min_time``, while objects with large TTLs
+would start at ``fuzz.time``.
+
+A logarithmic like function between determines the revalidation evaluation
+start time (which will be between ``fuzz.min_time`` and ``fuzz.time``). As the
+object gets closer to expiring, the window start becomes more likely. By
+default this setting is not enabled, but should be enabled anytime you have
+objects with small TTLs. Note that this option predates overridable
+configurations, so you can achieve something similar with a plugin or
+:file:`remap.config` settings.
+
+These configuration options are similar to Squid's refresh_stale_hit
+configuration option.
+
+Open Read Retry Timeout
+-----------------------
+
+The open read retry configurations attempt to reduce the number of concurrent
+requests to the origin for a given object. While an object is being fetched
+from the origin server, subsequent requests would wait
+:ts:cv:`proxy.config.http.cache.open_read_retry_time` milliseconds before
+checking if the object can be served from cache. If the object is still being
+fetched, the subsequent requests will retry
+:ts:cv:`proxy.config.http.cache.max_open_read_retries` times. Thus, subsequent
+requests may wait a total of (``max_open_read_retries`` x ``open_read_retry_time``)
+milliseconds before establishing an origin connection of its own. For instance,
+if they are set to ``5`` and ``10`` respectively, connections will wait up to
+50ms for a response to come back from origin from a previous request, until
+this request is allowed through.
+
+.. important::
+
+    These settings are inappropriate when objects are uncacheable. In those
+    cases, requests for an object effectively become serialized. The subsequent
+    requests would await at least ``open_read_retry_time`` milliseconds before
+    being proxied to the origin.
+
+It is advisable that this setting be used in conjunction with `Read While Writer`_
+for big (those that take longer than (``max_open_read_retries`` x
+``open_read_retry_time``) milliseconds to transfer) cacheable objects. Without
+the read-while-writer settings enabled, while the initial fetch is ongoing, not
+only would subsequent requests be delayed by the maximum time, but also, those
+requests would result in unnecessary requests to the origin server.
+
+Since ATS now supports setting these settings per-request or remap rule, you
+can configure this to be suitable for your setup much more easily.
+
+The configurations are (with defaults)::
+
+    CONFIG proxy.config.http.cache.max_open_read_retries INT -1
+    CONFIG proxy.config.http.cache.open_read_retry_time INT 10
+
+The defaults are such that the feature is disabled and every connection is
+allowed to go to origin without artificial delay. When enabled, you will try
+``max_open_read_retries`` times, each with an ``open_read_retry_time`` timeout.
+
+Open Write Fail Action
+----------------------
+
+In addition to the open read retry settings TS supports a new setting
+:ts:cv:`proxy.config.http.cache.open_write_fail_action` that allows to further
+reduce multiple concurrent requests hitting the origin for the same object by
+either returning a stale copy, in case of hit-stale or an error in case of cache
+miss for all but one of the requests.
+


Mime
View raw message