mirror of
https://github.com/apache/httpd.git
synced 2025-04-18 22:24:07 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673947 13f79535-47bb-0310-9956-ffa450edef68
160 lines
6.6 KiB
XML
160 lines
6.6 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
||
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
|
||
<!-- English Revision: 1174747:1673945 (outdated) -->
|
||
<!-- =====================================================
|
||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||
========================================================== -->
|
||
|
||
<!--
|
||
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="handler.xml.meta">
|
||
|
||
<title>Apache Eylemcilerinin Kullanımı</title>
|
||
|
||
<summary>
|
||
<p>Bu belgede Apache Eylemcilerinin kullanımı açıklanmıştır.</p>
|
||
</summary>
|
||
|
||
<section id="definition">
|
||
<title>Eylemci Nedir?</title>
|
||
<related>
|
||
<modulelist>
|
||
<module>mod_actions</module>
|
||
<module>mod_asis</module>
|
||
<module>mod_cgi</module>
|
||
<module>mod_imagemap</module>
|
||
<module>mod_info</module>
|
||
<module>mod_mime</module>
|
||
<module>mod_negotiation</module>
|
||
<module>mod_status</module>
|
||
</modulelist>
|
||
<directivelist>
|
||
<directive module="mod_actions">Action</directive>
|
||
<directive module="mod_mime">AddHandler</directive>
|
||
<directive module="mod_mime">RemoveHandler</directive>
|
||
<directive module="core">SetHandler</directive>
|
||
</directivelist>
|
||
</related>
|
||
|
||
|
||
<p>Bir <em>eylemci</em> bir dosya çağrıldığında uygulanacak eylemin Apache
|
||
dahilindeki gösterimidir. Genellikle dosyaların kendi türüne bağlı
|
||
olarak örtük eylemcileri vardır. Normalde tüm dosyalar basitçe sunucu
|
||
tarafından sunulurlar, fakat bazı dosya türleri normalden farklı şekilde
|
||
ele alınırlar.</p>
|
||
|
||
<p>Eylemciler, dosya türünden bağımsız olarak dosyanın bulunduğu yere veya
|
||
dosya ismi uzantısına göre de yapılandırılabilirler. Gerek, zarif bir
|
||
çözüm oluşuyla gerekse, hem dosya türünü hem de bir dosya ile ilişkili
|
||
bir eylemciyi mümkün kılması sebebiyle bunun getirisi daha yüksektir.
|
||
(Ayrıca, <a href="mod/mod_mime.html#multipleext">çok uzantılı
|
||
dosyalara</a> da bakınız.)</p>
|
||
|
||
<p>Eylemciler sunucu içinde derlenebileceği gibi bir modül olarak ya da
|
||
<directive module="mod_actions">Action</directive> yönergesi ile de
|
||
sunucuya dahil edilebilirler. Standart dağıtımda bulunan yerleşik
|
||
eylemciler şunlardır:</p>
|
||
|
||
<ul>
|
||
<li><strong>default-handler</strong>: Dosyayı, öntanımlı olarak durağan
|
||
içeriği işlemekte kullanılan <code>default_handler()</code> işlevini
|
||
kullanarak gönderir. (<module>core</module>)</li>
|
||
|
||
<li><strong>send-as-is</strong>: Dosyayı HTTP başlıklarıyla olduğu gibi
|
||
gönderir. (<module>mod_asis</module>)</li>
|
||
|
||
<li><strong>cgi-script</strong>: Dosyayı bir CGI betiği olarak ele alır.
|
||
(<module>mod_cgi</module>)</li>
|
||
|
||
<li><strong>imap-file</strong>: Dosyayı bir resim eşleme kuralları
|
||
dosyası olarak çözümler. (<module>mod_imagemap</module>)</li>
|
||
|
||
<li><strong>server-info</strong>: Sunucunun yapılandırma bilgisini
|
||
döndürür. (<module>mod_info</module>)</li>
|
||
|
||
<li><strong>server-status</strong>: Sunucunun durum raporunu döndürür.
|
||
(<module>mod_status</module>)</li>
|
||
|
||
<li><strong>type-map</strong>: Dosyayı içerik uzlaşımı için bir tür
|
||
eşlem dosyası olarak çözümler. (<module>mod_negotiation</module>)</li>
|
||
</ul>
|
||
</section>
|
||
|
||
<section id="examples">
|
||
<title>Örnekler</title>
|
||
|
||
<section id="example1">
|
||
<title>Bir CGI betiği kullanarak durağan içeriğin değiştirilmesi</title>
|
||
|
||
<p>Aşağıdaki yönergeler sayesinde, <code>html</code> uzantılı dosyalar
|
||
için yapılan istekler <code>footer.pl</code> CGI betiğininin
|
||
çalıştırılmasına sebep olacaktır.</p>
|
||
|
||
<example>
|
||
Action add-footer /cgi-bin/footer.pl<br/>
|
||
AddHandler add-footer .html
|
||
</example>
|
||
|
||
<p>Bu yapılandırmayla, istenen belgenin özgün haliyle mi (yeri
|
||
<code>PATH_TRANSLATED</code> ortam değişkenindedir) yoksa istenen
|
||
değişiklikler veya eklemeler yapıldıktan sonra mı gönderileceğinden
|
||
CGI betiği sorumlu olacaktır.</p>
|
||
|
||
</section>
|
||
<section id="example2">
|
||
<title>HTTP başlıklı dosyalar</title>
|
||
|
||
<p>Aşağıdaki yönergeler kendi HTTP başlıklarını içeren dosyalar için
|
||
kullanılan <code>send-as-is</code> eylemcisini etkinleştirmek amacıyla
|
||
kullanılmıştır. <code>/siteler/htdocs/asis/</code> dizinindeki tüm
|
||
dosyalar dosya ismi uzantılarına bakılmaksızın <code>send-as-is</code>
|
||
eylemcisi tarafından işleme sokulacaktır.</p>
|
||
|
||
<example>
|
||
<Directory /siteler/htdocs/asis><br/>
|
||
<indent>SetHandler send-as-is</indent>
|
||
</Directory>
|
||
</example>
|
||
|
||
</section>
|
||
</section>
|
||
<section id="programmer">
|
||
<title>Yazılım Geliştirenler İçin</title>
|
||
|
||
<p>Eylemci özellikleri gerçeklenirken kullanılmak üzere <a
|
||
href="developer/API.html">Apache API</a>’ye bir ekleme yapılmıştır.
|
||
Özellikle de, <code>request_rec</code> yapısına yeni bir kayıt
|
||
eklenmiştir:</p>
|
||
|
||
<example>
|
||
char *handler
|
||
</example>
|
||
|
||
<p>Modülünüzün bir eylemciyi devreye sokmasını isterseniz, tek yapacağınız
|
||
isteğin <code>invoke_handler</code> aşamasının hemen öncesinde
|
||
<code>r->handler</code> alanına eylemcinin ismini atamak olacaktır.
|
||
Eylemciler daha önce de bahsedildiği gibi bir içerik türü yerine bir
|
||
eylemci ismi kullanılarak gerçeklenirler. Çok gerekli olmamakla
|
||
birlikte, eylemciler için kullanılan adlandırma uzlaşımları gereğince,
|
||
ismi oluşturan sözcükler, ortam türü isim alanını ihlal etmemek amacıyla
|
||
bölü imleri ile değil tire imleri ile ayrılırlar.</p>
|
||
</section>
|
||
</manualpage>
|