<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision$ -->

<!--
 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.
-->

<modulesynopsis metafile="mod_data.xml.meta">

<name>mod_data</name>
<description>Convert response body into an RFC2397 data URL</description>
<status>Extension</status>
<sourcefile>mod_data.c</sourcefile>
<identifier>data_module</identifier>
<compatibility>Available in Apache 2.3 and later</compatibility>

<summary>
    <p>This module provides the ability to convert a response into
    an <a href="http://tools.ietf.org/html/rfc2397">RFC2397 data URL</a>.
    </p>

    <p>Data URLs can be embedded inline within web pages using something
    like the <module>mod_include</module> module, to remove the need for
    clients to make separate connections to fetch what may potentially be
    many small images. Data URLs may also be included into pages generated
    by scripting languages such as PHP.</p>

    <example><title>An example of a data URL</title>
        data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw<br />
        AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz<br />
        ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp<br />
        a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl<br />
        ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis<br />
        F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH<br />
        hhx4dbgYKAAA7<br />
    </example>

    <p>The filter takes no parameters, and can be added to the filter stack
    using the <directive module="core">SetOutputFilter</directive> directive,
    or any of the directives supported by the <module>mod_filter</module>
    module.</p>

    <example><title>Configuring the filter</title>
        &lt;Location /data/images&gt;<br />
        <indent>
            SetOutputFilter DATA
        </indent>
        &lt;/Location&gt;<br />
    </example>

</summary>
<seealso><a href="../filter.html">Filters</a></seealso>

</modulesynopsis>
