<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.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.
-->

<manualpage metafile="glossary.xml.meta">

  <title>Glossary</title>

  <summary>
    <p>This glossary defines some of the common terminology related to Apache in
      particular, and web serving in general. More information on each concept
      is provided in the links.</p>
  </summary>

<section id="definitions"><title>Definitions</title>

  <dl>
    <dt><a name="accesscontrol" id="accesscontrol">Access Control</a></dt>
    <dd>The restriction of access to network realms. In an Apache context
      usually the restriction of access to certain <em>URLs</em>.<br /> See:  <a
      href="howto/auth.html">Authentication, Authorization, and Access
      Control</a>
    </dd>

    <dt><a name="algorithm" id="algorithm">Algorithm</a></dt>
    <dd>An unambiguous formula or set of rules for solving a problem in a finite
      number of steps. Algorithms for encryption are usually called
      <dfn>Ciphers</dfn>.
    </dd>

    <dt><a name="apacheextensiontool" id="apacheextensiontool">APache
        eXtension Tool</a> <a name="apxs" id="apxs">(apxs)</a></dt>
    <dd>A perl script that aids in compiling <glossary
      ref="module">module</glossary> sources into Dynamic Shared Objects
      (<glossary ref="dso">DSO</glossary>s) and helps install them in the
      Apache Web server.<br />
      See: Manual Page: <program>apxs</program>
    </dd>

    <dt><a name="apacheportableruntime"
       id="apacheportableruntime">Apache Portable Runtime</a> <a
       name="apr" id="apr">(APR)</a></dt>
    <dd>A set of libraries providing many of the basic interfaces
      between the server and the operating system.  APR is developed
      parallel to the Apache HTTP Server as an independent project.<br />
      See: <a href="http://apr.apache.org/">Apache Portable Runtime
      Project</a>
    </dd>

    <dt><a name="authentication" id="authentication">Authentication</a></dt>
    <dd>The positive identification of a network entity such as a server, a
      client, or a user.<br />
      See: <a href="howto/auth.html">Authentication, Authorization, and Access
      Control</a>
    </dd>

    <dt><a name="certificate" id="certificate">Certificate</a></dt>
    <dd>A data record used for authenticating network entities such
      as a server or a client. A certificate contains X.509 information pieces
      about its owner (called the subject) and the signing <glossary
      ref="certificationauthority">Certification Authority</glossary> (called
      the issuer), plus the owner's <glossary ref="publickey">public
      key</glossary> and the
      signature made by the CA. Network entities verify these signatures
      using CA certificates.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="certificatsigningrequest"
      id="certificatsigningrequest">Certificate Signing Request</a>
      <a name="csr" id="csr">(CSR)</a></dt>
    <dd>An unsigned <glossary ref="certificate">certificate</glossary> for
      submission to a <glossary ref="certificationauthority">Certification
      Authority</glossary>, which signs it with the <glossary
      ref="privatekey">Private Key</glossary> of their CA
      <em>Certificate</em>. Once the CSR is signed, it becomes a real
      certificate.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="certificationauthority"
        id="certificationauthority">Certification Authority</a>
      <a name="ca" id="ca">(CA)</a></dt>
    <dd>A trusted third party whose purpose is to sign certificates for network
      entities it has authenticated using secure means. Other network entities
      can check the signature to verify that a CA has authenticated the bearer
      of a certificate.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="cipher" id="cipher">Cipher</a></dt>
    <dd>An algorithm or system for data encryption. Examples are DES, IDEA, RC4,
      etc.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="ciphertext" id="ciphertext">Ciphertext</a></dt>
    <dd>The result after <glossary ref="plaintext">Plaintext</glossary> is
      passed through a <glossary ref="cipher">Cipher</glossary>.<br /> See: <a
      href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="commongatewayinterface" id="commongatewayinterface">Common
        Gateway Interface</a> <a name="cgi" id="cgi">(CGI)</a></dt>
    <dd>A standard definition for an interface between a web server and an
      external program that allows the external program to service requests.
      There is an <a href="http://www.ietf.org/rfc/rfc3875">Informational
      RFC</a> which covers the specifics.<br />
      See: <a href="howto/cgi.html">Dynamic Content with CGI</a>
    </dd>

    <dt><a name="configurationdirective"
        id="configurationdirective">Configuration Directive</a></dt>
    <dd>See: <glossary ref="directive">Directive</glossary></dd>

    <dt><a name="configurationfile" id="configurationfile">Configuration
        File</a></dt>
    <dd>A text file containing <glossary ref="directive">Directives</glossary>
      that control the configuration of Apache.<br />
      See: <a href="configuring.html">Configuration Files</a>
    </dd>

    <dt><a name="connect" id="connect">CONNECT</a></dt>
    <dd>An HTTP <glossary ref="method">method</glossary> for proxying raw data
      channels over HTTP. It can be used to encapsulate other protocols, such as
      the SSL protocol.
    </dd>

    <dt><a name="context" id="context">Context</a></dt>
    <dd>An area in the <glossary ref="configurationfile">configuration
      files</glossary> where certain types of <glossary
      ref="directive">directives</glossary> are allowed.<br />
      See: <a href="mod/directive-dict.html#Context">Terms Used to Describe
      Apache Directives</a>
    </dd>

    <dt><a name="digitalsignature" id="digitalsignature">Digital
        Signature</a></dt>
    <dd>An encrypted text block that validates a certificate or other file. A
      <glossary ref="certificationauthority">Certification Authority</glossary>
      creates a signature by generating a hash of the <em>Public Key</em>
      embedded in a <em>Certificate</em>, then encrypting the hash with its own
      <em>Private Key</em>. Only the CA's public key can decrypt the signature,
      verifying that the CA has authenticated the network entity that owns the
      <em>Certificate</em>.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="directive" id="directive">Directive</a></dt>
    <dd>A configuration command that controls one or more aspects of Apache's
      behavior.  Directives are placed in the <glossary
      ref="configurationfile">Configuration File</glossary><br />
    See: <a href="mod/directives.html">Directive Index</a>
    </dd>

    <dt><a name="dynamicsharedobject" id="dynamicsharedobject">Dynamic
        Shared Object</a> <a name="dso" id="dso">(DSO)</a></dt>
    <dd><glossary ref="module">Modules</glossary> compiled separately from the
      Apache <program>httpd</program> binary that can be loaded on-demand.<br />
      See: <a href="dso.html">Dynamic Shared Object Support</a>
    </dd>

    <dt><a name="environmentvariable" id="environmentvariable">Environment
        Variable</a> <a name="env-variable"
        id="env-variable">(env-variable)</a></dt>
    <dd>Named variables managed by the operating system shell and used to store
      information and communicate between programs.  Apache also contains
      internal variables that are referred to as environment variables, but are
      stored in internal Apache structures, rather than in the shell
      environment.<br />
      See: <a href="env.html">Environment Variables in Apache</a>
    </dd>

    <dt><a name="export-crippled" id="export-crippled">Export-Crippled</a></dt>
    <dd>Diminished in cryptographic strength (and security) in order to comply
      with the United States' Export Administration Regulations (EAR).
      Export-crippled cryptographic software is limited to a small key size,
      resulting in <em>Ciphertext</em> which usually can be decrypted by brute
      force.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="filter" id="filter">Filter</a></dt>
    <dd>A process that is applied to data that is sent or received by the
      server.  Input filters process data sent by the client to the server,
      while output filters process documents on the server before they are sent
      to the client.  For example, the <code>INCLUDES</code> output filter
      processes documents for <glossary ref="ssi">Server Side
      Includes</glossary>.<br />
      See: <a href="filter.html">Filters</a>
    </dd>

    <dt><a name="fully-qualifieddomain-name"
        id="fully-qualifieddomain-name">Fully-Qualified Domain-Name</a>
      <a name="fqdn" id="fqdn">(FQDN)</a></dt>
    <dd>The unique name of a network entity, consisting of a hostname and a
      domain name that can resolve to an IP address. For example,
      <code>www</code> is a hostname, <code>example.com</code> is a domain name,
      and <code>www.example.com</code> is a fully-qualified domain name.
    </dd>

    <dt><a name="handler" id="handler">Handler</a></dt>
    <dd>An internal Apache representation of the action to be performed when a
      file is called. Generally, files have implicit handlers, based on the file
      type. Normally, all files are simply served by the server, but certain
      file types are "handled" separately.  For example, the
      <code>cgi-script</code> handler designates files to be processed as
      <glossary ref="cgi">CGIs</glossary>.<br />
      See: <a href="handler.html">Apache's Handler Use</a>
    </dd>

    <dt><a name="hash" id="hash">Hash</a></dt>
    <dd>A mathematical one-way, irreversible algorithm generating a string with
      fixed-length from another string of any length. Different input strings
      will usually produce different hashes (depending on the hash function).
    </dd>

    <dt><a name="header" id="header">Header</a></dt>
    <dd>The part of the <glossary ref="http">HTTP</glossary> request and
      response that is sent before the actual content, and that contains
      meta-information describing the content.
    </dd>

    <dt><a name="htaccess" id="htaccess">.htaccess</a></dt>
    <dd>A <glossary ref="configurationfile">configuration file</glossary> that
      is placed inside the web tree and applies configuration <glossary
      ref="directive">directives</glossary> to the directory where it is
      placed and all sub-directories.  Despite its name, this file can hold
      almost any type of directive, not just access-control directives.<br />
      See: <a href="configuring.html">Configuration Files</a>
    </dd>

    <dt><a name="httpd.conf" id="httpd.conf">httpd.conf</a></dt>
    <dd>The main Apache <glossary ref="configurationfile">configuration
      file</glossary>.  The default location is
      <code>/usr/local/apache2/conf/httpd.conf</code>, but it may be moved using
      run-time or compile-time configuration.<br />
      See: <a href="configuring.html">Configuration Files</a>
    </dd>

    <dt><a name="hypertexttransferprotocol"
      id="hypertexttransferprotocol">HyperText Transfer Protocol</a>
      <a name="http" id="hhtp">(HTTP)</a></dt>
    <dd>The standard transmission protocol used on the World Wide Web.  Apache
      implements version 1.1 of the protocol, referred to as HTTP/1.1 and
      defined by <a href="http://ietf.org/rfc/rfc2616.txt">RFC 2616</a>.
    </dd>

    <dt><a name="https" id="https">HTTPS</a></dt>
    <dd>The HyperText Transfer Protocol (Secure), the standard encrypted
      communication mechanism on the World Wide Web. This is actually just HTTP
      over <glossary ref="ssl">SSL</glossary>.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="method" id="method">Method</a></dt>
    <dd>In the context of <glossary ref="http">HTTP</glossary>, an action to
      perform on a resource, specified on the request line by the client.  Some
      of the methods available in HTTP are <code>GET</code>, <code>POST</code>,
      and <code>PUT</code>.
    </dd>

    <dt><a name="messagedigest" id="messagedigest">Message Digest</a></dt>
    <dd>A hash of a message, which can be used to verify that the contents of
      the message have not been altered in transit.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="mime-type" id="mime-type">MIME-type</a></dt>
    <dd>A way to describe the kind of document being transmitted.  Its name
      comes from that fact that its format is borrowed from the Multipurpose
      Internet Mail Extensions.  It consists of a major type and a minor type,
      separated by a slash.  Some examples are <code>text/html</code>,
      <code>image/gif</code>, and <code>application/octet-stream</code>.  In
      HTTP, the MIME-type is transmitted in the <code>Content-Type</code>
      <glossary ref="header">header</glossary>.<br />
      See: <a href="mod/mod_mime.html">mod_mime</a>
    </dd>

    <dt><a name="module" id="module">Module</a></dt>
    <dd>An independent part of a program.  Much of Apache's functionality is
      contained in modules that you can choose to include or exclude.  Modules
      that are compiled into the Apache <program>httpd</program> binary are
      called <dfn>static modules</dfn>, while modules that are stored
      separately and can be optionally loaded at run-time are called
      <dfn>dynamic modules</dfn> or <glossary ref="dso">DSOs</glossary>.
      Modules that are included by default
      are called <dfn>base modules</dfn>. Many modules are available for Apache
      that are not distributed as part of the Apache HTTP Server <glossary
      ref="tarball">tarball</glossary>.  These are referred to as
      <dfn>third-party modules</dfn>.<br />
      See: <a href="mod/">Module Index</a>
    </dd>

    <dt><a name="modulemagicnumber" id="modulemagicnumber">Module Magic
      Number</a> (<a name="mmn" id="mmn">MMN</a>)</dt>
    <dd>Module Magic Number is a constant defined in the Apache source code that
      is associated with binary compatibility of modules. It is changed when
      internal Apache structures, function calls and other significant parts of
      API change in such a way that binary compatibility cannot be guaranteed
      any more. On MMN change, all third party modules have to be at least
      recompiled, sometimes even slightly changed in order to work with the new
      version of Apache.
    </dd>

    <dt><a name="openssl" id="openssl">OpenSSL</a></dt>
    <dd>The Open Source toolkit for SSL/TLS<br />
      See <a href="http://www.openssl.org/">http://www.openssl.org/</a>#
    </dd>

    <dt><a name="passphrase" id="passphrase">Pass Phrase</a></dt>
    <dd>The word or phrase that protects private key files. It prevents
      unauthorized users from encrypting them. Usually it's just the secret
      encryption/decryption key used for <glossary
      ref="cipher">Ciphers</glossary>.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="plaintext" id="plaintext">Plaintext</a></dt>
    <dd>The unencrypted text.</dd>

    <dt><a name="privatekey" id="privatekey">Private Key</a></dt>
    <dd>The secret key in a <glossary ref="publickeycryptography">Public Key
      Cryptography</glossary> system, used to decrypt incoming messages and
      sign outgoing ones.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="proxy" id="proxy">Proxy</a></dt>
    <dd>An intermediate server that sits between the client and the <em>origin
        server</em>.  It accepts requests from clients, transmits those requests
      on to the origin server, and then returns the response from the origin
      server to the client.  If several clients request the same content, the
      proxy can deliver that content from its cache, rather than requesting it
      from the origin server each time, thereby reducing response time.<br />
      See: <a href="mod/mod_proxy.html">mod_proxy</a>
    </dd>

    <dt><a name="publickey" id="publickey">Public Key</a></dt>
    <dd>The publicly available key in a <glossary
      ref="publickeycryptography">Public Key Cryptography</glossary> system,
      used to encrypt messages bound for its owner and to decrypt signatures
      made by its owner.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="publickeycryptography"
      id="publickeycryptography">Public Key Cryptography</a></dt>
    <dd>The study and application of asymmetric encryption systems, which use
      one key for encryption and another for decryption. A corresponding pair of
      such keys constitutes a key pair. Also called Asymmetric Cryptography.
      <br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="regularexpression" id="regularexpression">Regular Expression</a>
      <a name="regex" id="regex">(Regex)</a></dt>
    <dd>A way of describing a pattern in text - for example, "all the words that
      begin with the letter A" or "every 10-digit phone number" or even "Every
      sentence with two commas in it, and no capital letter Q". Regular
      expressions are useful in Apache because they let you apply certain
      attributes against collections of files or resources in very flexible ways
      - for example, all .gif and .jpg files under any "images" directory could
      be written as "<code>/images/.*(jpg|gif)$</code>".  In places where
      regular expressions are used to replace strings, the special variables
      $1 ... $9 contain backreferences to the grouped parts (in parentheses) of
      the matched expression. The special variable $0 contains a backreference
      to the whole matched expression. To write a literal dollar sign in a
      replacement string, it can be escaped with a backslash. Historically, the
      variable &amp; could be used as alias for $0 in some places. This is no
      longer possible since version 2.3.6.  Apache uses Perl Compatible Regular
      Expressions provided by the <a href="http://www.pcre.org/">PCRE</a>
      library.  You can find more documentation about PCRE's regular expression
      syntax at that site, or at
      <a href="http://en.wikipedia.org/wiki/PCRE">Wikipedia</a>.
    </dd>

    <dt><a name="reverseproxy" id="reverseproxy">Reverse Proxy</a></dt>
    <dd>A <glossary ref="proxy">proxy</glossary> server that appears to the client
      as if it is an <em>origin server</em>.  This is useful to hide the real
      origin server from the client for security reasons, or to load balance.
    </dd>

    <dt><a name="securesocketslayer" id="securesocketslayer">Secure Sockets
        Layer</a> <a name="ssl" id="ssl">(SSL)</a></dt>
    <dd>A protocol created by Netscape Communications Corporation for general
      communication authentication and encryption over TCP/IP networks.  The most
      popular usage is <em>HTTPS</em>, i.e. the HyperText Transfer Protocol (HTTP)
      over SSL.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="servernameindication" id="servernameindication">Server Name
        Indication</a> <a name="sni" id="sni">(SNI)</a></dt>
    <dd>An SSL function that allows passing the desired server
      hostname in the initial SSL handshake message, so that the web
      server can select the correct virtual host configuration to use
      in processing the SSL handshake.  It was added to SSL starting
      with the TLS extensions, RFC 3546.  <br />
      See: <a href="ssl/ssl_faq.html">the SSL FAQ</a>
      and <a href="http://www.ietf.org/rfc/rfc3546.txt">RFC 3546</a>
    </dd>

    <dt><a name="serversideincludes" id="serversideincludes">Server Side
        Includes</a> <a name="ssi" id="ssi">(SSI)</a></dt>
    <dd>A technique for embedding processing directives inside HTML files.<br />
      See: <a href="howto/ssi.html">Introduction to Server Side Includes</a>
    </dd>

    <dt><a name="session" id="session">Session</a></dt>
    <dd>The context information of a communication in general.</dd>

    <dt><a name="ssleay" id="ssleay">SSLeay</a></dt>
    <dd>The original SSL/TLS implementation library developed by Eric A.
      Young
    </dd>

    <dt><a name="subrequest" id="subrequest">Subrequest</a></dt>
    <dd>Apache provides a subrequest API to modules that allows other
        filesystem or URL paths to be partially or fully evaluated by
        the server. Example consumers of this API are 
        <directive module="mod_dir">DirectoryIndex</directive>, 
        <module>mod_autoindex</module>, and <module>mod_include</module>.
    </dd>

    <dt><a name="symmetriccryptophraphy" id="symmetriccryptophraphy">Symmetric
        Cryptography</a></dt>
    <dd>The study and application of <em>Ciphers</em> that use a single secret key
      for both encryption and decryption operations.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="tarball" id="tarball">Tarball</a></dt>
    <dd>A package of files gathered together using the <code>tar</code> utility.
      Apache distributions are stored in compressed tar archives or using
      pkzip.
    </dd>

    <dt><a name="transportlayersecurity" id="transportlayersecurity">Transport
        Layer Security</a> <a name="tls" id="tls">(TLS)</a></dt>
    <dd>The successor protocol to SSL, created by the Internet Engineering Task
      Force (IETF) for general communication authentication and encryption over
      TCP/IP networks. TLS version 1 is nearly identical with SSL version 3.<br />
      See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>

    <dt><a name="uniformresourcelocator" id="uniformresourcelocator">Uniform
        Resource Locator</a> <a name="url" id="url">(URL)</a></dt>
    <dd>The name/address of a resource on the Internet.  This is the common
      informal term for what is formally called a <glossary
        ref="uniformresourceidentifier">Uniform Resource Identifier</glossary>.
      URLs are usually made up of a scheme, like <code>http</code> or
      <code>https</code>, a hostname, and a path.  A URL for this page might
      be <code>http://httpd.apache.org/docs/&httpd.docs;/glossary.html</code>.
    </dd>

    <dt><a name="uniformresourceidentifier"
      id="uniformresourceidentifier">Uniform Resource Identifier</a>
      <a name="URI" id="URI">(URI)</a></dt>
    <dd>A compact string of characters for identifying an abstract or physical
      resource.  It is formally defined by <a
        href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>.  URIs used on the
      world-wide web are commonly referred to as <glossary
        ref="url">URLs</glossary>.
    </dd>

    <dt><a name="virtualhosting" id="virtualhosting">Virtual Hosting</a></dt>
    <dd>Serving multiple websites using a single instance of Apache.  <em>IP
      virtual hosting</em> differentiates between websites based on their IP
      address, while <em>name-based virtual hosting</em> uses only the name of the
      host and can therefore host many sites on the same IP address.<br />
      See: <a href="vhosts/">Apache Virtual Host documentation</a>
    </dd>

    <dt><a name="x.509" id="x.509">X.509</a></dt>
    <dd>An authentication certificate scheme recommended by the International
      Telecommunication Union (ITU-T) which is used for SSL/TLS authentication.<br
      /> See: <a href="ssl/">SSL/TLS Encryption</a>
    </dd>
  </dl>
</section>
</manualpage>
