📄 ebcdic.html
字号:
routines, I added an "ebcdic/ascii conversion layer" which
would be crossed on every puts/write/get/gets, and a
conversion flag which allowed enabling/disabling the
conversions on-the-fly. Usually, a document crosses this
layer twice from its origin source (a file or CGI output) to
its destination (the requesting client): <code>file ->
Apache</code>, and <code>Apache -> client</code>.</p>
<p>The server can now read the header lines of a CGI-script
output in EBCDIC format, and then find out that the remainder
of the script's output is in ASCII (like in the case of the
output of a WWW Counter program: the document body contains a
GIF image). All header processing is done in the native
EBCDIC format; the server then determines, based on the type
of document being served, whether the document body (except
for the chunking information, of course) is in ASCII already
or must be converted from EBCDIC.</p>
</li>
<li>
<p>For Text documents (MIME types text/plain, text/html
<em>etc.</em>), an implicit translation to ASCII can be
used, or (if the users prefer to store some documents in
raw ASCII form for faster serving, or because the files
reside on a NFS-mounted directory tree) can be served
without conversion.</p>
<p><strong>Example:</strong></p>
<p>to serve files with the suffix <code>.ahtml</code> as a
raw ASCII <code>text/html</code> document without implicit
conversion (and suffix <code>.ascii</code> as ASCII
<code>text/plain</code>), use the directives:</p>
<div class="example"><p><code>
AddType text/x-ascii-html .ahtml <br />
AddType text/x-ascii-plain .ascii
</code></p></div>
<p>Similarly, any <code>text/foo</code> MIME type can be
served as "raw ASCII" by configuring a MIME type
"<code>text/x-ascii-foo</code>" for it using
<code>AddType</code>.</p>
</li>
<li>
<p>Non-text documents are always served "binary" without
conversion. This seems to be the most sensible choice for,
.例如,GIF/ZIP/AU file types. This of course
requires the user to copy them to the mainframe host using
the "<code>rcp -b</code>" binary switch.</p>
</li>
<li>
<p>Server parsed files are always assumed to be in native
(<em>i.e.</em>, EBCDIC) format as used on the machine, and
are converted after processing.</p>
</li>
<li>
<p>For CGI output, the CGI script determines whether a
conversion is needed or not: by setting the appropriate
Content-Type, text files can be converted, or GIF output can
be passed through unmodified. An example for the latter case
is the wwwcount program which we ported as well.</p>
</li>
</ol>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="document" id="document">Document Storage Notes</a></h2>
<h3><a name="binary" id="binary">Binary Files</a></h3>
<p>All files with a <code>Content-Type:</code> which does not
start with <code>text/</code> are regarded as <em>binary
files</em> by the server and are not subject to any conversion.
Examples for binary files are GIF images, gzip-compressed files
and the like.</p>
<p>When exchanging binary files between the mainframe host and
a Unix machine or Windows PC, be sure to use the ftp "binary"
(<code>TYPE I</code>) command, or use the
<code>rcp -b</code> command from the mainframe host (the
<code>-b</code> switch is not supported in unix
<code>rcp</code>'s).</p>
<h3><a name="text" id="text">Text Documents</a></h3>
<p>The default assumption of the server is that Text Files
(<em>i.e.</em>, all files whose <code>Content-Type:</code>
starts with <code>text/</code>) are stored in the native
character set of the host, EBCDIC.</p>
<h3><a name="ssi" id="ssi">Server Side Included Documents</a></h3>
<p>SSI documents must currently be stored in EBCDIC only.
No provision is made to convert it from ASCII before
processing.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="modules" id="modules">Apache Modules' Status</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="bordered">
<tr><th>Module</th><th>Status</th><th>Notes</th></tr>
<tr><td><code class="module"><a href="../mod/core.html">core</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_access.html">mod_access</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_actions.html">mod_actions</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_alias.html">mod_alias</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_asis.html">mod_asis</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_auth.html">mod_auth</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_auth_anon.html">mod_auth_anon</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_auth_dbm.html">mod_auth_dbm</a></code></td><td class="centered">?</td><td>with own <code>libdb.a</code></td></tr>
<tr><td><code class="module"><a href="../mod/mod_autoindex.html">mod_autoindex</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_cern_meta.html">mod_cern_meta</a></code></td><td class="centered">?</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_cgi.html">mod_cgi</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code>mod_digest</code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_dir.html">mod_dir</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></td><td class="centered">-</td><td>no shared libs</td></tr>
<tr><td><code class="module"><a href="../mod/mod_env.html">mod_env</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_example.html">mod_example</a></code></td><td class="centered">-</td><td>(test bed only)</td></tr>
<tr><td><code class="module"><a href="../mod/mod_expires.html">mod_expires</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_headers.html">mod_headers</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_imagemap.html">mod_imagemap</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_include.html">mod_include</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_info.html">mod_info</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code>mod_log_agent</code></td><td class="centered">+</td><td /></tr>
<tr><td><code>mod_log_config</code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_log_referer.html">mod_log_referer</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_mime.html">mod_mime</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_mime_magic.html">mod_mime_magic</a></code></td><td class="centered">?</td><td>not ported yet</td></tr>
<tr><td><code class="module"><a href="../mod/mod_negotiation.html">mod_negotiation</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_proxy.html">mod_proxy</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_rewrite.html">mod_rewrite</a></code></td><td class="centered">+</td><td>untested</td></tr>
<tr><td><code class="module"><a href="../mod/mod_setenvif.html">mod_setenvif</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_speling.html">mod_speling</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_unique_id.html">mod_unique_id</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_userdir.html">mod_userdir</a></code></td><td class="centered">+</td><td /></tr>
<tr><td><code class="module"><a href="../mod/mod_usertrack.html">mod_usertrack</a></code></td><td class="centered">?</td><td>untested</td></tr>
</table>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="third-party" id="third-party">Third Party Modules' Status</a></h2>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#AAAAAA" class="bordered">
<tr><th>Module</th><th>Status</th><th>Notes</th></tr>
<tr><td><code><a href="http://java.apache.org/">mod_jserv</a>
</code></td><td class="centered">-</td><td>JAVA still being ported.</td></tr>
<tr><td><code><a href="http://www.php.net/">mod_php3</a></code></td><td class="centered">+</td><td><code>mod_php3</code> runs fine, with LDAP and GD
and FreeType libraries.</td></tr>
<tr><td><code><a href="http://hpwww.ec-lyon.fr/~vincent/apache/mod_put.html">mod_put</a></code></td><td class="centered">?</td><td>untested</td></tr>
<tr><td><code><a href="ftp://hachiman.vidya.com/pub/apache/">mod_session</a></code></td><td class="centered">-</td><td>untested</td></tr>
</table>
</div></div>
<div id="footer">
<p class="apache">本文允许自由使用、分发、转载,但必须保留译者署名;详见:<a href="../translator_announcement.html#announcement">译者声明</a>。</p>
<p class="menu"><a href="../mod/index.html">模块索引</a> | <a href="../mod/directives.html">指令索引</a> | <a href="../faq/index.html">常见问题</a> | <a href="../glossary.html">词汇表</a> | <a href="../sitemap.html">站点导航</a></p></div>
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -