You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by ig...@apache.org on 2013/04/18 11:56:46 UTC

[02/25] (Mostly) done transforming a couple of files

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/index.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/index.en.rst b/doc/source/admin/index.en.rst
new file mode 100644
index 0000000..d1f693f
--- /dev/null
+++ b/doc/source/admin/index.en.rst
@@ -0,0 +1,313 @@
+:title: Apache Traffic Server Title: Administrators's Guide - Overview
+
+.. 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.
+
+
+Apache Traffic Server™ speeds Internet access, enhances website
+performance, and delivers unprecedented web hosting capabilities.
+
+This chapter discusses the following topics:
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+
+   getting-started.en
+   http-proxy-caching.en
+   reverse-proxy-http-redirects.en
+   forward-proxy.en
+   transparent-proxy.en
+   explicit-proxy-caching.en
+   hierachical-caching.en
+   configuring-cache.en
+   monitoring-traffic.en
+   configuring-traffic-server.en
+   cluster-howto.en
+   security-options.en
+   working-log-files.en
+   event-logging-formats.en
+   configuration-files.en
+   traffic-line-commands.en
+   traffic-server-error-messages.en
+   faqs.en
+   plugins.en
+
+
+What Is Apache Traffic Server?
+==============================
+
+Global data networking has become part of everyday life: Internet users
+request billions of documents and terabytes of data, on a daily basis,
+to and from all parts of the world. Information is free, abundant, and
+accessible. Unfortunately, global data networking can also be a
+nightmare for IT professionals as they struggle with overloaded servers
+and congested networks. It can be challenging to consistently and
+reliably accommodate society’s growing data demands.
+
+Traffic Server is a high-performance web proxy cache that improves
+network efficiency and performance by caching frequently-accessed
+information at the edge of the network. This brings content physically
+closer to end users, while enabling faster delivery and reduced
+bandwidth use. Traffic Server is designed to improve content delivery
+for enterprises, Internet service providers (ISPs), backbone providers,
+and large intranets by maximizing existing and available bandwidth.
+
+Traffic Server Deployment Options
+=================================
+
+To best suit your needs, Traffic Server can be deployed in several ways:
+
+-  As a web proxy cache
+-  As a reverse proxy
+-  In a cache hierarchy
+
+The following sections provide a summary of these Traffic Server
+deployment options. Please keep in mind that with every of these options
+Traffic Server can be run as a *single instance*, or as a *multi-node
+cluster*.
+
+Traffic Server as a Web Proxy Cache
+-----------------------------------
+
+As a web proxy cache, Traffic Server receives user requests for web
+content as those requests travel to the destined web server (origin
+server). If Traffic Server contains the requested content, then it
+serves the content directly. If the requested content is not available
+from cache, then Traffic Server acts as a proxy: it obtains the content
+from the origin server on the user’s behalf and also keeps a copy to
+satisfy future requests.
+
+Traffic Server provides explicit proxy caching, in which the user’s
+client software must be configured to send requests directly to Traffic
+Server. Explicit proxy caching is described in the `Explicit Proxy
+Caching <explicit-proxy-caching>`_ chapter.
+
+Traffic Server as a Reverse Proxy
+---------------------------------
+
+As a reverse proxy, Traffic Server is configured to be the origin server
+to which the user is trying to connect (typically, the origin server’s
+advertised hostname resolves to Traffic Server, which acts as the real
+origin server). The reverse proxy feature is also called server
+acceleration. Reverse proxy is described in more detail in `Reverse
+Proxy and HTTP Redirects <reverse-proxy-http-redirects>`_.
+
+Traffic Server in a Cache Hierarchy
+-----------------------------------
+
+Traffic Server can participate in flexible cache hierarchies, in which
+Internet requests not fulfilled from one cache are routed to other
+regional caches, thereby leveraging the contents and proximity of nearby
+caches. In a hierarchy of proxy servers, Traffic Server can act either
+as a parent or a child cache to other Traffic Server systems or to
+similar caching products.
+
+Traffic Server supports ICP (Internet Cache Protocol) peering.
+Hierarchical caching is described in more detail in `Hierarchical
+Caching <hierachical-caching>`_.
+
+Traffic Server Components
+=========================
+
+Traffic Server consists of several components that work together to form
+a web proxy cache you can easily monitor and configure. These main
+components are described below.
+
+The Traffic Server Cache
+------------------------
+
+The Traffic Server cache consists of a high-speed object database called
+the object store. The object store indexes objects according to URLs and
+associated headers. Using sophisticated object management, the object
+store can cache alternate versions of the same object (perhaps in a
+different language or encoding type). It can also efficiently store very
+small and very large objects, thereby minimizing wasted space. When the
+cache is full, Traffic Server removes stale data to ensure that the most
+requested objects are readily available and fresh.
+
+Traffic Server is designed to tolerate total disk failures on any of the
+cache disks. If the disk fails completely, then Traffic Server marks the
+entire disk as corrupt and continues to use remaining disks. If all of
+the cache disks fail, then Traffic Server switches to proxy-only mode.
+You can partition the cache to reserve a certain amount of disk space
+for storing data for specific protocols and origin servers. For more
+information about the cache, see `Configuring the
+Cache <configuring-cache>`_.
+
+The RAM Cache
+-------------
+
+Traffic Server maintains a small RAM cache that contains extremely
+popular objects. This RAM cache serves the most popular objects as fast
+as possible and reduces load on disks, especially during temporary
+traffic peaks. You can configure the RAM cache size to suit your needs;
+for detailed information, refer to `Changing the Size of the RAM
+Cache <configuring-cache#ChangingSizeofRAMCache>`_.
+
+The Host Database
+-----------------
+
+The Traffic Server host database stores the domain name server (DNS)
+entries of origin servers to which Traffic Server connects to fulfill
+user requests. This information is used to adapt future protocol
+interactions and optimize performance. Along with other information, the
+host database tracks:
+
+-  DNS information (for fast conversion of hostnames to IP addresses)
+-  The HTTP version of each host (so advanced protocol features can be
+   used with hosts running modern servers)
+-  Host reliability and availability information (so users will not wait
+   for servers that are not running)
+
+The DNS Resolver
+----------------
+
+Traffic Server includes a fast, asynchronous DNS resolver to streamline
+conversion of hostnames to IP addresses. Traffic Server implements the
+DNS resolver natively by directly issuing DNS command packets rather
+than relying on slower, conventional resolver libraries. Since many DNS
+queries can be issued in parallel and a fast DNS cache maintains popular
+bindings in memory, DNS traffic is reduced.
+
+Traffic Server Processes
+------------------------
+
+Traffic Server contains three processes that work together to serve
+requests and manage/control/monitor the health of the system. The three
+processes are described below:
+
+-  The ``traffic_server`` process is the transaction processing engine
+   of Traffic Server. It is responsible for accepting connections,
+   processing protocol requests, and serving documents from the cache or
+   origin server.
+
+-  The ``traffic_manager`` process is the command and control facility
+   of the Traffic Server, responsible for launching, monitoring, and
+   reconfiguring the ``traffic_server`` process. The ``traffic_manager``
+   process is also responsible for the proxy autoconfiguration port, the
+   statistics interface, cluster administration, and virtual IP
+   failover.
+
+   If the ``traffic_manager`` process detects a ``traffic_server``
+   process failure, it instantly restarts the process but also maintains
+   a connection queue of all incoming requests. All incoming connections
+   that arrive in the several seconds before full server restart are
+   saved in the connection queue and processed in first-come,
+   first-served order. This connection queueing shields users from any
+   server restart downtime.
+
+-  The ``traffic_cop`` process monitors the health of both the
+   ``traffic_server`` and ``traffic_manager`` processes. The
+   ``traffic_cop`` process periodically (several times each minute)
+   queries the ``traffic_server`` and ``traffic_manager`` process by
+   issuing heartbeat requests to fetch synthetic web pages. In the event
+   of failure (if no response is received within a timeout interval or
+   if an incorrect response is received), ``traffic_cop`` restarts the
+   ``traffic_manager`` and ``traffic_server`` processes.
+
+The figure below illustrates the three Traffic Server processes.
+
+.. figure:: _static/images/admin/process.jpg
+   :align: center
+   :alt: Illustration of the three Traffic Server Processes
+
+   Illustration of the three Traffic Server Processes
+
+Administration Tools
+--------------------
+
+Traffic Server offers the following administration options:
+
+-  The Traffic Line command-line interface is a text-based interface
+   from which you can monitor Traffic Server performance and network
+   traffic, as well as configure the Traffic Server system. From Traffic
+   Line, you can execute individual commands or script a series of
+   commands in a shell.
+-  The Traffic Shell command-line interface is an additional
+   command-line tool that enables you to execute individual commands
+   that monitor and configure the Traffic Server system.
+-  Various configuration files enable you to configure Traffic Server
+   through a simple file-editing and signal-handling interface. Any
+   changes you make through Traffic Line or Traffic Shell are
+   automatically made to the configuration files as well.
+-  Finally there is a clean C API which can be put to good use from a
+   multitude of languages. The Traffic Server Admin Client demonstrates
+   this for Perl.
+
+Traffic Analysis Options
+========================
+
+Traffic Server provides several options for network traffic analysis and
+monitoring:
+
+-  Traffic Line and Traffic Shell enable you to collect and process
+   statistics obtained from network traffic information.
+
+-  Transaction logging enables you to record information (in a log file)
+   about every request Traffic Server receives and every error it
+   detects. By analyzing the log files, you can determine how many
+   clients used the Traffic Server cache, how much information each of
+   them requested, and what pages were most popular. You can also see
+   why a particular transaction was in error and what state the Traffic
+   Server was in at a particular time; for example, you can see that
+   Traffic Server was restarted or that cluster communication timed out.
+
+   Traffic Server supports several standard log file formats, such as
+   Squid and Netscape, and its own custom format. You can analyze the
+   standard format log files with off-the-shelf analysis packages. To
+   help with log file analysis, you can separate log files so that they
+   contain information specific to protocol or hosts.
+
+Traffic analysis options are described in more detail in `Monitoring
+Traffic <monitoring-traffic>`_.
+
+Traffic Server logging options are described in `Working with Log
+Files <working-log-files>`_.
+
+Traffic Server Security Options
+===============================
+
+Traffic Server provides numerous options that enable you to establish
+secure communication between the Traffic Server system and other
+computers on the network. Using the security options, you can do the
+following:
+
+-  Control client access to the Traffic Server proxy cache.
+-  Configure Traffic Server to use multiple DNS servers to match your
+   site's security configuration. For example, Traffic Server can use
+   different DNS servers, depending on whether it needs to resolve
+   hostnames located inside or outside a firewall. This enables you to
+   keep your internal network configuration secure while continuing to
+   provide transparent access to external sites on the Internet.
+-  Configure Traffic Server to verify that clients are authenticated
+   before they can access content from the Traffic Server cache.
+-  Secure connections in reverse proxy mode between a client and Traffic
+   Server, and Traffic Server and the origin server, using the SSL
+   termination option.
+-  Control access via SSL (Secure Sockets Layer).
+
+Traffic Server security options are described in more detail in
+`Security Options <security-options>`_.
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins.en.rst b/doc/source/admin/plugins.en.rst
new file mode 100644
index 0000000..ada02a2
--- /dev/null
+++ b/doc/source/admin/plugins.en.rst
@@ -0,0 +1,80 @@
+:title: Apache Traffic Server Plugins
+
+.. 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.
+
+
+Overview
+========
+
+One of the key features of Apache Traffic Server is modularity. Features
+that aren't needed in the core simply aren't there. This is a good
+thing, because it guarantees that our core can remain fast by
+concentrating on the things that we always provide: Caching and
+proxying.
+
+All other things can be moved into plugins, by opening up a consitent C
+API, everyone can implement their own functionality, without having to
+touch the core.
+
+Download
+========
+
+Apache Traffic Server Plugins considered stable are released together
+with the server. See `downloads </downloads>`_.
+
+All plugins, whether they have received enough production testing from
+our developers or feedback from our users to be consiered stable can
+still be optained seperately in source form via git:
+
+::
+    git clone https://git-wip-us.apache.org/repos/asf/trafficserver.git/
+
+Plugins considered experimental are located under
+```plugins/experimental`` <https://git-wip-us.apache.org/repos/asf?p=trafficserver.git;a=tree;f=plugins/experimental;hb=HEAD>`_
+
+Build
+=====
+
+Most plugins can be build by simply issueing
+
+::
+    make
+
+in their source tree. Note that this requires you to have ``tsxs`` in
+your ``PATH``
+
+Plugins # {#plugins}
+====================
+
+.. toctree::
+   :maxdepth: 2
+
+   plugins/balancer.en
+   plugins/buffer_upload.en
+   plugins/cacheurl.en
+   plugins/combo_handler.en
+   plugins/esi.en
+   plugins/geoip_acl.en
+   plugins/header_filter.en
+   plugins/hipes.en
+   plugins/mysql_remap.en
+   plugins/regex_remap.en
+   plugins/stale_while_revalidate.en
+   plugins/stats_over_http.en
+   plugins/gzip.en
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/balancer.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/balancer.en.rst b/doc/source/admin/plugins/balancer.en.rst
new file mode 100644
index 0000000..80ca31b
--- /dev/null
+++ b/doc/source/admin/plugins/balancer.en.rst
@@ -0,0 +1,91 @@
+:title: Balancer Plugin
+
+.. 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.
+
+
+This is a plugin for Traffic Server, that allows you to configure
+mapping rules.
+
+To use this plugin, configure a remap.config rule like
+
+::
+   map http://foo.com http://bar.com @plugin=balancer.so @pparam=rotation:news
+
+The "To-Url" in the remap.config rule is generally not used, unless the
+lookup completely fails (i.e. this is a backup URL for extreme error
+cases).
+
+This is a list of all available options (set via @pparam):
+
+::
+    rotation      The name of the rotation (e.g. news) [to-host in remap]
+    hash      What to hash on, url, path, cookie, ip, header (primary)
+    hash2     Optional, secondary hash, to hash within a multi-host bucket
+    bucketw   Width of each hash bucket [1]
+
+The rotation parameter specifies which rotation to do the lookup on. If
+not specified, we will default to the same name as used in the To URL in
+the remap rule.
+
+The bucket width specifies how many hosts a particular hash bucket
+should contain, for example:
+
+::
+    @pparam=bucketw:2
+
+The hash parameter can be used zero or more times, without it, no
+hashing is done at all. If you have more than one hash keys, they are
+concatenated in the order specified. For example:
+
+::
+    @pparam=hash:ip @pparam=hash:cookie/B
+
+The "header" hash key takes a required extra value, for example:
+
+::
+    @pparam=hash:header/Host
+
+For "cookie" hash keys, you can optionally specify an identifier for
+which cookie to use (without it, the entire cookie header is used). For
+example:
+
+::
+    @pparam=hash:cookie/B
+
+The secondary hash ("hash2") is used to provide "stickiness" within a
+bucket that's larger than one host (i.e. bucketw > 1). This allows you
+to (for example) have a primary hash on the URL, where each URL is
+served by some number of servers. A secondary hash on B-cookie would
+then provide user stickiness, so that for a particular URL, a particular
+user will always hit the same server.
+
+If the hashes you've requested (either "hash" or "hash2") can not be
+generated, we default to using the URL instead for the primary hash. For
+the secondary hash, if set, we'll default to the src-IP. If these
+defaults are not desirable, make sure that you have at least one hash
+key that is guaranteed to exist (e.g. @pparam=hash:ip).
+
+If no "hash" parameters are specified, no hashing is done. This is the
+default behavior, obviously. In this cash, the "hash2" directive has no
+effect as well.
+
+Finally, a couple of "flag" options (parameters) are available, to
+control some of the lookup mechanisms:
+
+-  @pparam=hostip will use the IP returned by the lookup
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/buffer_upload.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/buffer_upload.en.rst b/doc/source/admin/plugins/buffer_upload.en.rst
new file mode 100644
index 0000000..0f81239
--- /dev/null
+++ b/doc/source/admin/plugins/buffer_upload.en.rst
@@ -0,0 +1,88 @@
+:title: Buffer Upload Plugin
+
+.. 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.
+
+
+..  XXX Discribe what the heck this plugin actually does.
+
+Upload proxy specs for phase I:
+
+1. Memory buffering (buffer the entire POST data in IOBuffer before
+   connecting to OS) 1.1. Memory buffer size is configured with
+   "mem_buffer_size" in config file. Default and minimum value is 32K
+   You can increase it in the config file. If the size of a request is
+   larger than the "mem_buffer_size" value specifiied in the config
+   file, then the upload proxy feature will be disabled for this
+   particular request
+
+2. Disk buffering (buffer the entire POST data on disk before connecting
+   to OS) 2.1. Use disk async IO. This involved some changes in ATS core
+   . new APIs wrapping around ink_aio_read() and ink_aio_write() .
+   change to distinguish between api call's AIO and cache's AIO .
+   guarantee api call's AIO only involves certain amount of threads .
+   the number of threads is configurable in plugin's config file
+   (default is 4)
+
+3. 
+
+   2. Directories and files generated on disk . base directory:
+      FOOBAR/var/buffer_upload_tmp/ (configurable in config file) .
+      number of subdirectories: 64 (configurable in config file) .
+      filename are randomly generated . files will be removed when the
+      entire data have been sent out to OS . remove dangling files (left
+      on disk due to transaction interruption or traffic server crash)
+      at startup time
+
+4. 
+
+   3. Default chunk size when reading from disk: 16K, configurable in
+      config file
+
+5. Default buffering mode: disk aio buffering mode 3.1. to turn off disk
+   buffering, add a "use_disk_buffer 0" line in config file
+
+6. Trigger POST buffering on certain URLs 4.1. certain URLs will be
+   provided in a plain text file (one URL each line) 4.2. specify
+   filename in config file by "url_list_file" 4.3. max length of each
+   URL: 4096 (configurable in config file) 4.4. use exact match, don't
+   support regex for now
+
+7. URL conversion for Mail's specific URL format 5.1. for now check if
+   the "host" part in the URL is same as the proxy server name, then
+   will do this conversion 5.2. To turn on URL conversion feature, set
+   "convert_url 1" in config file
+
+8. All request headers inlcuding cookies plus the entire POST data will
+   be buffered (either in memory or on disk)
+
+9. Config file can be explicitly sepcified as a parameter in command
+   line (in plugin.config file)
+
+a sample config file:
+
+use_disk_buffer 1 convert_url 1 chunk_size 1024 url_list_file
+/tmp/url_list.conf max_url_length 10000 base_dir /tmp/test1
+subdir_num 100 thread_num 10 mem_buffer_size 40000
+
+default config file: FOOBAR/etc/upload.conf
+
+default config values: use_disk_buffer 1 convert_url 0 chunk_size
+16384 url_list_file none max_url_length 4096 base_dir
+FOOBAR/var/buffer_upload_tmp subdir_num 64 thread_num 4
+mem_buffer_size 32768
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/cacheurl.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/cacheurl.en.rst b/doc/source/admin/plugins/cacheurl.en.rst
new file mode 100644
index 0000000..89e6968
--- /dev/null
+++ b/doc/source/admin/plugins/cacheurl.en.rst
@@ -0,0 +1,57 @@
+:title: CacheURL Plugin
+
+.. 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.
+
+
+
+This plugin allows you to change the key that is used for caching a
+request.
+
+It is designed so that multiple requests that have different URLs but
+the same content (for example, site mirrors) need be cached only once.
+
+Installation # {#Installation}
+==============================
+
+::
+    make
+    sudo make install
+
+If you don't have the traffic server binaries in your path, then you
+will need to specify the path to tsxs manually:
+
+::
+    make TSXS=/opt/ts/bin/tsxs
+    sudo make TSXS=/opt/ts/bin/tsxs install
+
+Configuration # {#Configuration}
+================================
+
+Create a ``cacheurl.config`` file in the plugin directory with the url
+patterns to match. See the ``cacheurl.config.example`` file for what to
+put in this file.
+
+Add the plugin to your
+```plugins.config`` <../../configuration-files/plugins.config>`_ file:
+
+::
+    cacheurl.so
+
+Start traffic server. Any rewritten URLs will be written to
+``cacheurl.log`` in the log directory by default.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/combo_handler.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/combo_handler.en.rst b/doc/source/admin/plugins/combo_handler.en.rst
new file mode 100644
index 0000000..84497bb
--- /dev/null
+++ b/doc/source/admin/plugins/combo_handler.en.rst
@@ -0,0 +1,73 @@
+:title: Combohandler Plugin
+
+.. 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.
+
+
+This plugin provides that functionality (and more) with the same
+interface but with these differences in configuration:
+
+The arguments in the
+```plugin.config`` <../../configuration-files/plugin.config>`_ line in
+order represent
+
+1. The path that should triggers combo handler (defaults to
+   "admin/v1/combo")
+
+2. The name of the key used for signature verification (disabled by
+   default)
+
+A "-" can be supplied as a value for any of these arguments to request
+default value be applied.
+
+Also, just like the original combohandler, this plugin generates URLs of
+the form ``http://localhost/<dir>/<file-path>``. ``<dir>`` here defaults
+to ``l`` unless specified by the file path in the query parameter using
+a colon. For example:
+
+::
+    http://combo.com/admin/v1/combo?filepath1&dir1:filepath2&filepath3
+
+Will result in these three pages being fetched:
+
+::
+    http://localhost/l/filepath1
+    http://localhost/dir1/filepath2
+    http://localhost/l/filepath3
+
+Remap rules have to be specified to map the above URLs to desired
+content servers.
+
+The plugin also supports a prefix parameter. Common parts of successive
+file paths can be extracted and specified separately using a 'p' query
+parameter. Successive file path parameters are appended to this prefix
+to create complete file paths. The prefix will remain active until
+changed or cleared (set to an empty string). For example, the query
+
+::
+    "/file1&p=/path1/&file2&file3&p=&/file4&p=/dir:path2/&file5&file6"
+
+results in these file paths being "reconstructed":
+
+::
+    /file1
+    /path1/file2
+    /path1/file3
+    /file4
+    /dir:path2/file5
+    /dir:path2/file6
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/esi.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/esi.en.rst b/doc/source/admin/plugins/esi.en.rst
new file mode 100644
index 0000000..6e6bde3
--- /dev/null
+++ b/doc/source/admin/plugins/esi.en.rst
@@ -0,0 +1,22 @@
+:title: ESI Notice: Licensed to the
+:title: Apache Traffic Server Plugins
+
+.. 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.
+
+
+This plugin implements the ESI specification.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/geoip_acl.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/geoip_acl.en.rst b/doc/source/admin/plugins/geoip_acl.en.rst
new file mode 100644
index 0000000..876b562
--- /dev/null
+++ b/doc/source/admin/plugins/geoip_acl.en.rst
@@ -0,0 +1,109 @@
+:title: GeoIP ACLs Plugin
+.. 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.
+
+This is a simple ATS plugin for denying (or allowing) requests based on
+the source IP geo-location. Currently only the Maxmind APIs are
+supported, but we'd be happy to other other (open) APIs if you let us
+know.
+
+Building
+========
+
+The build and installation requires a full installation of Apache
+Traffic Server v3.0.0 or later. In particular, the include files must be
+available, and the tsxs build script should be in the path (or modify
+the Makefile).
+
+::
+    % gmake
+    % sudo gmake install
+
+Configuration
+=============
+
+Once installed, there are three primary use cases, which we will discuss
+in details. Note that in all configurations, the first plugin parameter
+must specify what the matches should be applied to. Currently, only one
+rule set is supported, for Country ISO codes. This is specified with a
+parameter of
+
+::
+    @pparam=country
+
+Future additions to this plugin could include other regions, such as
+city, state, continent etc.
+
+The three typical use cases are as follows:
+
+1. Per remap configurations, applicable to the entire remap rule. This
+   is useful when you can partition your content so that entire prefix
+   paths should be filtered. For example, lets assume that
+   http://example.com/music is restricted to US customers only, and
+   everything else is world wide accessible. In remap.config, you would
+   have something like
+
+   ::
+   map http://example.com/music http://music.example.com \
+    @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam=US
+
+   map http://example.com http://other.example.com
+
+2. If you can not partition the data with a path prefix, you can specify
+   a separate regex mapping filter. The remap.config file might then
+   look like
+
+   ::
+   map http://example.com http://music.example.com \
+       @plugin=geoip_acl.so @pparam=country \
+       @pparam=regex::/etc/music.regex
+
+where music.regex is a format with PCRE (perl compatible) regular
+expressions, and unique rules for match. E.g.
+
+::
+    .*\.mp3  allow  US
+    .*\.ogg  deny   US
+
+Note that the default in the case of no matches on the regular
+expressions is to "allow" the request. This can be overriden, see next
+use case.
+
+3. You can also combine 1) and 2), and provide defaults in the
+   remap.config configuration, which then applies for the cases where no
+   regular expressions matches at all. This would be useful to override
+   the default which is to allow all requests that don't match. For
+   example
+
+   ::
+   map http://example.com http://music.example.com \
+    @plugin=geoip_acl.so @pparam=country @pparam=allow @pparam= US
+    @pparam=regex::/etc/music.regex
+
+This tells the plugin that in the situation where there is no matching
+regular expression, only allow requests originating from the US.
+
+Finally, there's one additional parameter option that can be used:
+
+::
+    @pparam=html::/some/path.html
+
+This will override the default reponse body for the denied responses
+with a custom piece of HTML. This can be useful to explain to your users
+why they are getting denied access to a particular piece of content.
+This configuration can be used with any of the use cases described
+above.

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/gzip.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/gzip.en.rst b/doc/source/admin/plugins/gzip.en.rst
new file mode 100644
index 0000000..bfe8627
--- /dev/null
+++ b/doc/source/admin/plugins/gzip.en.rst
@@ -0,0 +1,97 @@
+:title: gzip / deflate Plugin
+
+.. 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.
+
+
+This plugin gzips or deflates responses, whichever is applicable. It can
+compress origin respones as well as cached responses.
+
+Installation # {#Installation}
+==============================
+
+First, run:
+
+::
+    make && sudo make install
+
+Then, add the following line to
+```plugin.config`` <../../configuration-files/plugin.config>`_:
+
+::
+    gzip.so
+
+In this case, the plugin will use the default behaviour:
+
+-  Enable caching
+-  Compress text/\* for every origin
+-  Don't hide accept encoding from origin servers (for an offloading
+   reverse proxy)
+-  No urls are disallowed from compression
+
+Configuration
+=============
+
+Alternatively, a configuration can also be specified:
+
+::
+    gzip.so <path-to-plugin>/sample.gzip.config
+
+After modifying plugin.cofnig, restart traffic server (sudo
+traffic_line -L) the configuration is re-read when a management update
+is given (sudo traffic_line -x)
+
+Options
+=======
+
+Flags and options are:
+
+``enabled``: (``true`` or ``false``) Enable or disable compression for a
+host.
+
+``remove-accept-encoding``: (``true`` or ``false``) Sets whether the
+plugin should hide the accept encoding from origin servers:
+
+-  To ease the load on the origins.
+-  For when the proxy parses responses, and the resulting
+   compression/decompression is wasteful.
+
+``cache``: (``true`` or ``false``) When set, the plugin stores the
+uncompressed and compressed response as alternates.
+
+``compressible-content-type``: Wildcard pattern for matching
+compressible content types.
+
+``disallow``: Wildcard pattern for disabling compression on urls.
+
+Options can be set globally or on a per-site basis, as such:
+
+::
+    # Set some global options first
+    cache true
+    enabled true
+    remove-accept-encoding false
+    compressible-content-type text/*
+
+    # Now set a configuration for www.example.com
+    [www.example.com]
+    cache false
+    remove-accept-encoding true
+    disallow /notthis/*.js
+
+See example.gzip.config for example configurations.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/header_filter.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/header_filter.en.rst b/doc/source/admin/plugins/header_filter.en.rst
new file mode 100644
index 0000000..d81cfe1
--- /dev/null
+++ b/doc/source/admin/plugins/header_filter.en.rst
@@ -0,0 +1,142 @@
+:title: Header Filter Plugin
+
+.. 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.
+
+The ``header_filter`` is a simple plugin for filtering out headers from
+requests (or responses). Typical configuration is done either with a
+global configuration, in
+```plugin.config`` <../../configuration-files/plugin.config>`_:
+
+::
+    header_filter.so /usr/local/etc/hdr_filters.conf
+
+Or, alternatively, in a
+```per-remap`` <../../configuration-files/remap.config>`_ rule
+configuration
+
+::
+    map http://a.com/ http://b.com @plugin=header_filter.so @pparam=hdr_filters.conf
+
+Even if you don't have a global configuration, if your remap rules
+schedules actions in hooks other than during remap, you must also add
+the ``header_filter.so`` to the
+```plugin.config`` <../../configuration-files/remap.config>`_ (see
+above), but without args:
+
+::
+    header_filter.so
+
+The configuration files looks like
+
+::
+    [READ_REQUEST_HDR]
+        X-From-Someone
+        Cookie
+
+    [READ_RESPONSE_HDR]
+        X-From-Server
+        Set-Cookie
+
+    [SEND_RESPONSE_HDR]
+        X-Fie "Test"    # Match the entire string
+        X-Foo /Test/    # Match the (Perl) regex
+        X-Bar [Test*    # Match the prefix string
+        X-Fum *Test]    # Match the postfix string
+
+Comments are prefixed with ``#``, and in most cases, the regular
+expression matching is the best choice (very little overhead). The
+pattern matches can also take an option '``!``\ ' to reverse the test.
+The default action is to delete all headers that do (not) match the
+pattern. E.g.
+
+::
+    [SEND_REQUEST_HDR]
+        X-Fie   /test/
+        X-Foo ! /test/i
+
+The final "``i``\ " qualifier (works on all pattern matches) forces the
+match or comparison to be made case insensitive (just like in Perl).
+
+It's also possible to replace or add headers, using the = and +
+operators. For example
+
+::
+    [SEND_REQUEST_HDR]
+        Host =www.example.com=
+        X-Foo +ATS+
+
+This will force the Host: header to have exactly one value,
+``www.example.com``, while ``X-Foo`` will have at least one header with
+the value ATS, but there could be more instances of the header from the
+existing header in the request.
+
+Possible hooks are
+
+::
+     READ_REQUEST_HDR
+     SEND_REQUEST_HDR
+     READ_RESPONSE_HDR
+     SEND_RESPONSE_HDR
+
+If not specified, the default hook to add the rules (headers to filter)
+is ``READ_REQUEST_HDR``. It's completely acceptable (and useful) to
+configure a remap rule to delete headers in a later hook (e.g. when
+reading a response from the server). This is what actually makes the
+plugin even remotely useful.
+
+Examples
+========
+
+Set X-Forwarded-Proto https on SSL connections
+----------------------------------------------
+
+Often times a backend wants to know whether it's running under HTTP or
+HTTPS. While not regulated standard, we can use the
+``X-Forwarded-Proto`` header for this purpose.
+
+In ```plugin.config`` <../../configuration-files/plugin.config>`_ we
+need to add:
+
+::
+    header_filter.so
+
+Then, in ```remap.config`` <../../configuration-files/remap.config>`_ we
+can configure ``header_filter`` on a case by case basis:
+
+::
+    map http://example.org http://172.16.17.42:8080
+    map https://example.org http://172.16.17.42:8080 @plugin=header_filter.so @pparam=/etc/trafficserver/x_fwd_proto.conf
+
+The configuration that ties everything together is then
+``/etc/trafficserver/x_fwd_proto.config``, to which we add:
+
+::
+    [SEND_REQUEST_HDR]
+        X-Forwarded-Proto =https=
+
+To activate this configuration, we need to restart Traffic Server with
+``traffic_line -L``.
+
+In the backend servers we can now pick this up and do appropriately set
+server variables that will be picked up by CGI programs for instance. In
+the case of Apache httpd backend, this can be acomplished with
+```mod_setenvif`` <http://httpd.apache.org/docs/current/mod/mod_setenvif.html#setenvif>`_:
+
+::
+    SetEnvIf X-Forwarded-Proto https HTTPS=on SSL=on
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/hipes.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/hipes.en.rst b/doc/source/admin/plugins/hipes.en.rst
new file mode 100644
index 0000000..a5fd44f
--- /dev/null
+++ b/doc/source/admin/plugins/hipes.en.rst
@@ -0,0 +1,64 @@
+:title: HIPES system (undocumented)
+:title: Apache Traffic Server Plugins
+
+.. 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.
+
+
+This plugin implements the HIPES system.
+
+Configuration # {#Configuration}
+================================
+
+``server:<host>``
+    Name of the server to send this request to
+
+``urlp:<name>``
+    Default: ``url``
+    Name of the query parameter for the service URL
+
+``path:<path>``
+    Default: ``/``
+    Path to use for the service URL
+
+``ssl``
+    Default: ``no``
+    Use SSL when connecting to the service
+
+``service``
+    Service server, ``host[:port]``
+
+``server``
+    Default: ``hipes.yimg.com``
+    Name of HIPES server, ``host[:port]``
+
+``active_timeout``
+    The active connection timeout in ms
+
+``no_activity_timeout``
+    The no activity timeout in ms
+
+``connect_timeout``
+    The connect timeout in ms
+
+``dns_timeout``
+    The DNS timeout
+
+The timeout options override the server defaults (from
+```records.config`` <../../configuration-files/records.config>`_), and
+only apply to the connection to the specific "service" host.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/mysql_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/mysql_remap.en.rst b/doc/source/admin/plugins/mysql_remap.en.rst
new file mode 100644
index 0000000..8a4cfd9
--- /dev/null
+++ b/doc/source/admin/plugins/mysql_remap.en.rst
@@ -0,0 +1,92 @@
+:title: MySQL Remap Plugin
+
+.. 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.
+
+
+This is a basic plugin for doing dynamic "remaps" from a database. It
+essentially rewrites the incoming request's Host header / origin server
+connection to one retrieved from a database.
+
+The generic proxying setup is the following:
+
+::
+    UA ----> Traffic Server ----> Origin Server
+
+Without the plugin a request like:
+
+::
+    GET /path/to/something HTTP/1.1
+    Host: original.host.com
+
+Ends up requesting ``http://original.host.com/path/to/something``
+
+With this plugin enabled, you can easily change that to anywhere you
+desire. Imagine the many possibilities....
+
+We have benchmarked the plugin with ab at about 9200 requests/sec (1.7k
+object) on a commodity hardware with a local setup of both, MySQL and
+Traffic Server local. Real performance is likely to be substantially
+higher, up to the MySQL's max queries / second.
+
+Installation
+============
+
+::
+    % make install
+
+should do it, assuming ``tsxs`` script in your search path. This script
+is installed with your installation of Apache Traffic Server.
+
+NOTE: you may need to open the Makefile and adjust the paths to MySQL
+client includes & libraries
+
+Configuration
+=============
+
+Import the default schema to a database you create:
+
+::
+    mysql -u root -p -e "CREATE DATABASE mysql_remap;"   # create a new database
+    mysql -u root -p mysql_remap < schema/import.sql     # import the provided schema
+
+insert some interesting values in mysql_remap.hostname &
+mysql_remap.map
+
+Traffic Server plugin configuration is done inside a global
+configuration file: ``/etc/trafficserver/plugin.config``:
+
+::
+    mysql_remap.so /etc/trafficserver/mysql_remap.ini
+
+The INI file should contain the following values:
+
+::
+    [mysql_remap]
+    mysql_host     = localhost   #default
+    mysql_port     = 3306        #default
+    mysql_username = remap_user
+    mysql_password = 
+    mysql_database = mysql_remap #default
+
+To debug errors, start trafficserver manually using:
+
+::
+    traffic_server -T "mysql_remap"
+
+And resolve any errors or warnings displayed.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/regex_remap.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/regex_remap.en.rst b/doc/source/admin/plugins/regex_remap.en.rst
new file mode 100644
index 0000000..3f10849
--- /dev/null
+++ b/doc/source/admin/plugins/regex_remap.en.rst
@@ -0,0 +1,161 @@
+:title: Regex Remap Plugin
+
+.. 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.
+
+
+This allows you to configure mapping rules based on regular expressions.
+This is similar to what you can accomplish using mod_rewrite in Apache
+httpd, but obviously not as flexible or sophisticated (yet).
+
+To use this plugin, configure a remap.config rule like
+
+::
+    map http://a.com http://b.com @plugin=regex_remap.so @pparam=maps.reg
+
+An optional argument (``@@pparam``) with the string "``profile``\ " will
+enable profiling of this regex remap rule, e.g.
+
+::
+    ... @pparam=maps.reg @pparam=profile
+
+Profiling is very low overhead, and the information is dumped to
+``traffic.out``, located in the log directory. In order to force a
+profile dump, you can do
+
+::
+    $ sudo touch remap.config
+    $ sudo traffic_line -x
+
+By default, only the path and query string of the URL is provided for
+the regular expressions to match. The following optional parameters can
+be used to modify the plugin instance behavior:
+
+::
+    @pparam=[no-]full-url            [default: off]
+    @pparam=[no-]method              [default: off]
+    @pparam=[no-]query-string        [default: on]
+    @pparam=[no-]matrix-parameters   [default: off]
+
+If you want the full (original) URL, use the parameter
+``@pparam=full-url``. For example:
+
+::
+    ... @pparam=maps.reg @pparam=full-url
+
+The string that you will need to match against looks like
+
+::
+    http://server/path?query=bar
+
+If you also wish to match on the HTTP method used (e.g. "``GET``\ "),
+you must use the option ``@pparam=method``. For example:
+
+::
+    ... @pparam=maps.reg @pparam=method
+
+With this enabled, the string that you will need to match will look like
+
+::
+    GET/path?query=bar
+
+The "``method``\ " parameter can also be used in combination with
+"``full-url``\ ", and the string to match against will then look like
+
+::
+    GET http://server.com/path?query=bar
+
+The methods are always all upper-case, and always followed by one single
+space. There is no space between the method and the rest of the URL (or
+URI path).
+
+By default, the query string is part of the string that is matched
+again, to turn this off use the option 'no-query-string', e.g.
+
+::
+    ... @pparam=maps.reg @pparam=no-query-string
+
+Finally, you can also include the matrix parameters in the string, using
+the option 'matrix-parameters', e.g.
+
+::
+    ... @pparam=maps.reg @pparam=matrix-parameters
+
+Note that the path to the plugin must be absolute, and by default it is
+
+.. XXX why?
+
+::
+    /usr/local/libexec/trafficserver/regex_remap.so
+
+The config file (``maps.reg`` above) can be placed anywhere, but unless
+you specify an absolute path (as above), it will default to the
+directory
+
+::
+    /usr/local/etc/regex_remap
+
+A typical regex would look like
+
+::
+    ^/(ogre.*)/more     http://www.ogre.com/$h/$0/$1
+
+The regular expression must not contain any white spaces!
+
+When the regular expression is matched, only the URL path + query string
+is matched (without any of the optional configuration options). The path
+will always start with a "/". Various substitution strings are allowed
+on the right hand side:
+
+::
+    $0     - The entire matched string
+    $1-9   - Regular expression groups ($1 first group etc.)
+    $h     - The original host header from the request
+    $f     - The host as used in the "from" portion of the remap rule
+    $t     - The host as used in the "to" portion of the remap rule
+    $p     - The original port number
+    $s     - The scheme (e.g. http) of the request
+    $P     - The entire path of the request
+    $q     - The query part of the request
+    $r     - The path parameters of the request (not implemented yet)
+    $c     - The cookie string from the request
+    $i     - The client IP for this request
+
+You can also provide options, similar to how you configure your
+remap.config. The following options are available
+
+::
+    @status=<nnn>               - Force the response code to <nnn>
+    @active_timeout=<nnn>       - Active timeout (in ms)
+    @no_activity_timeout=<nnn>  - No activity timeout (in ms)
+    @connect_timeout=<nnn>      - Connect timeouts (in ms)
+    @dns_timeout=<nnn>          - Connect timeouts (in ms)
+
+For example, this can be useful to force a particular response for some
+URLs, e.g.
+
+::
+    ^/(ogre.*)/bad      http://www.examle.com/  @status=404
+
+Or, to force a 302 redirect
+
+::
+    ^/oldurl/(.*)$      http://news.example.com/new/$1 @status=302
+
+Note: Setting the status to 301 or 302 will force the new URL to be used
+as a redirect (Location:).
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/stale_while_revalidate.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/stale_while_revalidate.en.rst b/doc/source/admin/plugins/stale_while_revalidate.en.rst
new file mode 100644
index 0000000..411d3be
--- /dev/null
+++ b/doc/source/admin/plugins/stale_while_revalidate.en.rst
@@ -0,0 +1,20 @@
+:title: Stale While Revalidate Plugin (undocumented)
+
+.. 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.
+
+refresh content asynchronously while serving stale data

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/608a4146/doc/source/admin/plugins/stats_over_http.en.rst
----------------------------------------------------------------------
diff --git a/doc/source/admin/plugins/stats_over_http.en.rst b/doc/source/admin/plugins/stats_over_http.en.rst
new file mode 100644
index 0000000..4b317f4
--- /dev/null
+++ b/doc/source/admin/plugins/stats_over_http.en.rst
@@ -0,0 +1,36 @@
+:title: Stats over HTTP Plugin
+
+.. 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.
+
+Statistics are available in JSON format via direct HTTP access to
+Traffic Server.
+
+::
+
+    make
+    sudo make install
+
+Add the following to
+```plugin.config`` <../../configuration-files/plugin.config>`_:
+
+::
+
+    stats_over_http.so
+
+start traffic server and visit ``http://IP:port/_stats``
+