content-negotiation.xml.ko revision 5652dbe450e4fcfdf36d4cfb42d7f2345ded29a4
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<?xml version='1.0' encoding='EUC-KR' ?>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<?xml-stylesheet type="text/xsl" href="/style/manual.ko.xsl"?>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<!-- English Revision: 1.17 -->
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
c7814cf6e1240a519cbec0441e033d0e2470ed00vboxsync<!--
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Copyright 2003-2004 The Apache Software Foundation
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Licensed under the Apache License, Version 2.0 (the "License");
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync you may not use this file except in compliance with the License.
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync You may obtain a copy of the License at
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync http://www.apache.org/licenses/LICENSE-2.0
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Unless required by applicable law or agreed to in writing, software
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync distributed under the License is distributed on an "AS IS" BASIS,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync See the License for the specific language governing permissions and
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync limitations under the License.
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync-->
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync<manualpage metafile="content-negotiation.xml.meta">
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<title>������� (Content Negotiation)</title>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<summary>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>����ġ�� HTTP/1.1 �Ծ࿡ ���� �������(content
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync negotiation)�� �����Ѵ�. ��������� media type, ���, ��������,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���ڵ� � ���� ������ ������ ��ȣ���� ��� �ڿ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���� ������ ǥ���� �����Ѵ�. �� �ҿ����� ��� ������ ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �������� ��û�� ���������� ó���ϴ� ��ɵ� �ִ�.</p>
ad1aea7f006b1feaea275f858b5b574ae61bfe39vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>�⺻������ �����ϵǴ� <module>mod_negotiation</module>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ����� ������� ����� �����Ѵ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</summary>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<section id="about"><title>������� ����</title>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
213c5dfc7af9761148fff0e821ce2b8f5ab2f60dvboxsync <p>�ڿ��� ���� �ٸ� ǥ���� ���� �� �ִ�. ���� ���, �ٸ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� �ٸ� media type Ȥ�� �� ��ΰ� �ٸ� ǥ������ ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� �ִ�. ���� ����� ǥ���� �����ϴ� �Ѱ��� ����� ����ڿ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��� �������� �����ְ� �����ϰ� �ϴ� ���̴�. �׷��� ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �ڵ����� �����ϴ� �͵� �����ϴ�. �̴� ������ ��û��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �Ϻη� �׵��� ��ȣ�ϴ� ǥ���� ���� ������ �����⶧����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �����ϴ�. ���� ���, ������� �������� �Ҿ��, �׷���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��ٸ� ����� ������ ����ʹٰ� �˷��� �� �ִ�. �������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��û�� ����� �׵��� ��ȣ�� ��Ÿ����. ���� �Ҿ�ε� ǥ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��û�Ѵٸ� ������� ������ ���� ������.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>Accept-Language: fr</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>�̷� ��ȣ�� ǥ���� ���� �ٸ� ��쿡�� ����ȴ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>������ �� ������ ��û�� ���� ������ �Ҿ�� ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���� �� ������, �Ҿ �� ��ȣ�ϰ�, ���� media type�� ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� ������, �Ϲ� �ؽ�Ʈ ���ٴ� HTML, �ٸ� media type ���ٴ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync GIF�� JPEG�� ��ȣ�Ѵٰ� �˷��ش�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Accept-Language: fr; q=1.0, en; q=0.5<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Accept: text/html; q=1.0, text/*; q=0.8, image/gif; q=0.6, image/jpeg; q=0.6, image/*; q=0.5, */*; q=0.1
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>����ġ�� HTTP/1.1 �Ծ࿡ ���ǵ� '���� �ֵ�(server driven)'
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��������� �����Ѵ�. ����ġ�� <code>Accept</code>,
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync <code>Accept-Language</code>, <code>Accept-Charset</code>,
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync <code>Accept-Encoding</code> ��û ����� ��� �����Ѵ�.
a0cfaded2376888b45a6a207baa4e1dc0acf866dvboxsync ��, ����ġ�� RFC 2295�� RFC 2296�� ���ǵ� �������� ���������
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync '�ڿ�������(transparent)' ��û ����� �����Ѵ�. �׷��� ��
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync RFC�� ���ǵ� '��� ���(feature negotiation)'�� ��������
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync �ʴ´�.</p>
d0fae34e0301bf11b5fed4c87128d502618e35f0vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p><strong>�ڿ�(resource)</strong>�� (RFC 2396) URI�� �����ϴ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �������� �����. ����ġ�� ���� �������� �ڿ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <strong>ǥ��(representations)</strong>�� �����Ѵ�. ǥ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ media type, ��������, ���ڵ� ���� ���� ����Ʈ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���ִ�. �ڿ��� ���� ǥ���� (���δ� ���� ���� �ִ�) ����ȴ�.
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �ڿ� ���� ǥ���� �ִٸ� �ڿ���
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync <strong>��󰡴��ϴٰ�(negotiable)</strong> �θ���, �̶�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� ǥ���� <strong>����(variant)</strong>�̶�� �Ѵ�.
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync ��󰡴��� �ڿ��� ���� ���� �����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <strong>����(dimension)</strong>��� �Ѵ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</section>
7cfcbe810de5334cdc2e8b92e77db705da143adavboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<section id="negotiation"><title>����ġ�� ���</title>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>�ڿ��� ����ϱ����� ������ �� ���� ���� ������ �ʿ��ϴ�.
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���� �ΰ��� ����� �ϳ��� ������ ��´�:</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <ul>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <li>������ ���� ���ϵ��� ���� ������ type map�� (<em>����
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync ���</em>, <code>*.var</code> ����) ����ϰų�,</li>
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync <li>���� ���������ʾƵ� ������ ���ϸ?�� ��Ģ�� ã�Ƽ�
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync ��� �����ϴ� 'MultiViews'�� ����Ѵ�.</li>
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync </ul>
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync <section id="type-map"><title>type-map ���� ����ϱ�</title>
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync <p>type map�� <code>type-map</code>�̶� �ڵ鷯�� �����
2dd7b4388106de88d20f33a8aa6c85c8babf507bvboxsync (Ȥ�� ���� ����ġ ������ ȣȯ�� ���� MIME type��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <code>application/x-type-map</code>��) ������. �� �����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ����Ϸ��� �������� <code>type-map</code> �ڵ鷯�� ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���� Ȯ���ڸ� �����ؾ� �Ѵ�. ���� �������Ͽ� ������ ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �����ϴ� ���� ����.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>AddHandler type-map .var</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>Type map ������ �ش��ϴ� �ڿ�� �̸��� ���ƾ� �ϰ�,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� ���� ���� �׸��� �־�� �Ѵ�. �׸��� ���� HTTP���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��� �ٷ� �����ȴ�. ���� ���� ������ �׸���� ���ٷ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �����Ѵ�. �׸�ȿ��� ������ ����� �� ���. (�̷��� ��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �ʿ䰡 ���, �־ ����������) ���� �׸��� �������� ������
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync �ִ� �������� map ������ �����ϴ� ���� �����̴�. ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync map ���� ����. �� ������ �̸��� <code>foo.var</code>��,
c4bfe32373c55416bf49dc29ebf45dfa560b4692vboxsync <code>foo</code>��� �ڿ��� �����Ѵ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>
ad27e1d5e48ca41245120c331cc88b50464813cevboxsync URI: foo<br />
f44a3b919727a151d40b5b238385da9938b6f1favboxsync<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo.en.html<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-type: text/html<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-language: en<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo.fr.de.html<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-type: text/html;charset=iso-8859-2<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-language: fr, de<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>typemap ������ ���ϸ� Ȯ���� ����, ������ Multiviews��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ����Ͽ���, �켱���� ������ �����϶�. ������ ���� �ٸ� ǰ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ����ٸ�, ������ ���� (JPEG, GIF, ASCII-art�� �ش��ϴ�)
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync media type�� "qs" �Ķ���ͷ� ǰ��(source quality)�� ǥ����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� �ִ�:</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo.jpeg<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-type: image/jpeg; qs=0.8<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo.gif<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-type: image/gif; qs=0.5<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync URI: foo.txt<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync Content-type: text/plain; qs=0.01<br />
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>qs ���� 0.000���� 1.000 ���̴�. qs ���� 0.000�� ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��� ���õ��� ������ �����϶�. 'qs' ���� ��� ������ 1.0����
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��޵ȴ�. qs ���� Ŭ���̾�Ʈ�� �ɷ°�� ������ �ٸ� ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���Ͽ� �� ������ ������� 'ǰ��'�� ��Ÿ����. ���� ���,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ ��Ÿ������ ��� JPEG ������ ASCII ���Ϻ��ٴ� �׻�
2f4c1bacd54af5063c3185cc8eab03e4e8ef9b90vboxsync ���� ǰ���� �����. �׷��� �ڿ��� �� ASCII art���ٸ�
2f4c1bacd54af5063c3185cc8eab03e4e8ef9b90vboxsync ASCII ǥ���� JPEG ǥ������ �� ���� ǰ���� ���� �� �ִ�.
2f4c1bacd54af5063c3185cc8eab03e4e8ef9b90vboxsync �׷��Ƿ� � ������ qs ���� ǥ���Ϸ��� �ڿ��� ����
2f4c1bacd54af5063c3185cc8eab03e4e8ef9b90vboxsync ��� �ٸ���.</p>
2f4c1bacd54af5063c3185cc8eab03e4e8ef9b90vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p>�����ϴ� ��� ��� ����� <a
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync href="mod/mod_negotiation.html#typemaps">mod_negotation
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync typemap</a> ������ ����϶�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync</section>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
1eb84e3fba012c8764e32737ab18b4973b70b301vboxsync<section id="multiviews"><title>Multiviews</title>
1eb84e3fba012c8764e32737ab18b4973b70b301vboxsync
8be5264d31d6a6ec949ff2285764c9af57298b52vboxsync <p><code>MultiViews</code>�� ���丮�� �ɼ��̹Ƿ�,
8be5264d31d6a6ec949ff2285764c9af57298b52vboxsync <code>httpd.conf</code>��
8be5264d31d6a6ec949ff2285764c9af57298b52vboxsync <directive module="core" type="section">Directory</directive>,
8be5264d31d6a6ec949ff2285764c9af57298b52vboxsync <directive module="core" type="section">Location</directive>,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <directive module="core" type="section">Files</directive>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���� Ȥ�� (<directive module="core">AllowOverride</directive>��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ �����Ǿ�ٸ�) <code>.htaccess</code> ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <directive module="core">Options</directive> ���þ ������
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �� �ִ�. <code>Options All</code>�� <code>MultiViews</code>��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync �������������� �����϶�. ��� ���� ����� �Ѵ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p><code>MultiViews</code>�� ����ϸ� ������ ���� ���� �Ͼ��:
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ <code>/some/dir/foo</code>�� ���� ��û�� �ް�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <code>/some/dir/foo</code>�� <code>MultiViews</code>�� �����ϸ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <code>/some/dir/foo</code>�� �������� <em>����</em> ���,
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ ���丮���� �̸��� foo.*�� ���ϵ��� ��� �����ϴ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ type map�� �����. Ŭ���̾�Ʈ�� ��û�� media type��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync content-encoding�� ������ ���߿� ���� ������ ���� �����Ѵ�.</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p><code>MultiViews</code>�� ������ ���丮�� �����Ҷ�
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ������ � <directive
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync module="mod_dir">DirectoryIndex</directive> ���þ��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ���ȴ�. ���������� ������ ���ٸ�,</p>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync<example>DirectoryIndex index</example>
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <p><code>index.html</code>�� <code>index.html3</code>��
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync ��� �ִٸ� ������ �̵� �߿� �ϳ��� �����Ѵ�. �� ��� ���
610972deee47d5e5229ccdb6c86cbb332d2b4626vboxsync <code>index.cgi</code>�� �ִٸ�, ������ �װ��� �����Ѵ�.</p>
<p>���丮�� ������ ������ �ϳ��� Charset, Content-Type,
Language, Encoding�� �Ǵ��ϴ� <code>mod_mime</code>�� �𸣴�
Ȯ���ڸ� ����ٸ�, ���� <directive
module="mod_mime">MultiViewsMatch</directive> ���þ� ������
�޷Ǵ�. �� ���þ�� �ڵ鷯, ����, �ٸ� Ȯ������� MultiViews
��� ������ ���θ� �����Ѵ�.</p>
</section>
</section>
<section id="methods"><title>�����</title>
<p>����ġ�� type-map �����̳� ���丮�� �ִ� ���ϸ���
�־��� �ڿ� ���� ���� ����� ��ԵǸ� '������' ������
�����ϱ����� �� ����� �ϳ��� ����Ѵ�. ����ġ �������
����� ����ϱ����� ��Ȯ�� ����� ��� �Ͼ���� �ڼ���
�� �ʿ�� ���. �׷��� �ñ��� ����� ���� �� ����� �����Ѵ�.</p>
<p>�ΰ��� ������� �ִ�:</p>
<ol>
<li><strong>����ġ �˰?���� ����Ͽ� ������ �ֵ��ϴ�
���</strong>�� �Ϲ����� ��쿡 ����Ѵ�. ����ġ �˰?����
�Ʒ��� �ڼ��� �����Ѵ�. �� �˰?���� ����ϸ� ����ġ��
�� ���� ��� ������� ���� Ư�� ������
ǰ����(quality factor)�� '�����Ѵ�'. ����ġ�� ǰ������
�����ϴ� ����� �Ʒ��� �ڼ��� �����Ѵ�.</li>
<li><strong>�ڿ�������(Transparent) �������</strong>��
������ RFC 2295�� ���ǵ� ������� ��û�� ��쿡��
����Ѵ�. �� ������� '������' ������ ������ ������
������� �ο��Ѵ�. �׷��� ���� �������� �˰?��
�޷ȴ�. �ڿ������� �������߿� ������� ����ġ����
RFC 2296�� ���ǵ� '��� ������ �˰?��(remote variant
selection algorithm)'�� ��û�� �� �ִ�.</li>
</ol>
<section id="dimensions"><title>����� ����</title>
<table>
<columnspec><column width=".15"/><column width=".85"/></columnspec>
<tr valign="top">
<th>����</th>
<th>����</th>
</tr>
<tr valign="top">
<td>Media Type</td>
<td>������� <code>Accept</code> ����� ��ȣ�� ��Ÿ����.
�� �׸��� ǰ������ ���� �� �ִ�. ������ ���? ǰ������
("qs" �Ķ����) ���� �� �ִ�.</td>
</tr>
<tr valign="top">
<td>Language</td>
<td>������� <code>Accept-Language</code> ����� ��ȣ��
��Ÿ����. �� �׸��� ǰ������ ���� �� �ִ�. ������
���� �� ���� (Ȥ�� �ƹ� �� ����) �� �ִ�.</td>
</tr>
<tr valign="top">
<td>Encoding</td>
<td>������� <code>Accept-Encoding</code> ����� ��ȣ��
��Ÿ����. �� �׸��� ǰ������ ���� �� �ִ�.</td>
</tr>
<tr valign="top">
<td>Charset</td>
<td>������� <code>Accept-Charset</code> ����� ��ȣ��
��Ÿ����. �� �׸��� ǰ������ ���� �� �ִ�. ������
media type�� �Ķ���ͷ� ���������� ��Ÿ�� �� �ִ�.</td>
</tr>
</table>
</section>
<section id="algorithm"><title>����ġ ��� �˰?��</title>
<p>����ġ�� ������� ���� '������' ������ (�ִٸ�)
�����ϱ����� �Ʒ� �˰?���� ����Ѵ�. �� �˰?���� ������
�� ���. ������ ���� �����Ѵ�:</p>
<ol>
<li>����, ����� �� ������ ���� �ش��ϴ� <em>Accept*</em>
����� �˻��ϰ�, �� ���� ǰ���� �ű��. � ������
<em>Accept*</em> ����� �޾Ƶ����� �ʴ� ������ �ĺ�����
�����Ѵ�. � ���� ���������� 4 �ܰ�� ����.</li>
<li>
�ĺ����� �ϳ��� �����Ͽ� '������' ������ ã�´�. ����
�� �˻�� ���� �Ͼ��. �� �˻翡�� ���õ�������
������ ���ܵȴ�. �� �˻��� �� ���� ������ �̸� ������
�������� �����ϰ� 3 �ܰ�� ����. ���� ������ ������
���� �˻縦 �����Ѵ�.
<ol>
<li><code>Accept</code> ����� ǰ������ ������
media type�� ���� ǰ���� ���Ͽ� ���� ���� ����
���� ������ �����Ѵ�.</li>
<li>���� ���� ���(language) ǰ������ ���� ������
�����Ѵ�.</li>
<li><code>Accept-Language</code> ����� (�ִٸ�)
���� ����� �� Ȥ�� <code>LanguagePriority</code>
���þ (�ִٸ�) ���� ����� �� ������ ����
������ �� ���� ������ �����Ѵ�.</li>
<li>���� ���� (text/html media type�� ������ ��Ÿ����)
'level' media �Ķ���͸� ���� ������ �����Ѵ�.</li>
<li><code>Accept-Charset</code> ����� ������ ����
������ charset media �Ķ���͸� ���� ������ ã�´�.
����� ��ٸ� ISO-8859-1 ���������� ���� ��ȣ�Ѵ�.
<code>text/*</code> media type�� �������� ���������
Ư�� �������հ� ����������� ������ ISO-8859-1��
�����Ѵ�.</li>
<li>ISO-8859-1�� <em>�ƴ�</em> charset media �Ķ���͸�
���� ������� �����Ѵ�. �׷� ������ ��ٸ�, ��� ���
������ �����Ѵ�.</li>
<li>���� ������ ���ڵ��� ���� ������ �����Ѵ�.
user-agent�� ������ ���ڵ��� ���� ������ �ִٸ� ��
������ �����Ѵ�. �׷����ʰ� ���ڵ�� ����� ���ڵ�ȵ�
������ ���� �ִٸ� ���ڵ�ȵ� ������ �����Ѵ�. ������
��� ���ڵ�Ǿ�ų� ��� ���ڵ�ȵ� ��� ��� ������
�����Ѵ�.</li>
<li>content length�� ���� ���� ������ �����Ѵ�.</li>
<li>���� ���� ù���� ������ �����Ѵ�. �̴� type-map
������ �տ� ���԰ų�, ���丮���� ������ ���� ���
���ϸ��� ASCII �ڵ� ��� �Ͽ� �տ� ������ ���̴�.</li>
</ol>
</li>
<li>���� �˰?���� '������' ������ �����ߴ�. �̰��� ��������
������. HTTP ���� ��� <code>Vary</code>�� ����� ������
��Ÿ���� �ȴ�. (������� ij���� �ڿ��� ij���Ҷ� �� ������
����� �� �ִ�.) ��.</li>
<li>�� �ܰ迡 �����ߴٸ� (��� ������ �������ϱ� ������)
� ���� ������ �ȵ� ����. ("No acceptable
representation"�� ���ϴ�) ���� 406�� �������� ��밡����
������ ����� ���� HTML ������ ������ ������. ��, HTML
<code>Vary</code> ����� ������ ������ ��Ÿ����.</li>
</ol>
</section>
</section>
<section id="better"><title>ǰ���� �����ϱ�</title>
<p>����ġ�� ���� ���� ����ġ ��� �˰?���� ������ ��Ű���ʰ�
ǰ������ �����Ѵ�. ������ �����ϰ� ��Ȯ�� ������ �������ʴ�
������� (�˰?����) �� ���� ��� ������ ���ؼ���.
�θ� ���̴� �������� �Ϻδ� ���� �߸�� ������ �����ϵ���
<code>Accept</code> ����� ������. ������ �����ϰ� �ùٸ�
������ �����ٸ�, ������ �����ʴ´�.</p>
<section id="wildcards"><title>Media Type�� ���ϵ�ī��</title>
<p><code>Accept:</code> ��û ����� media type�� ���� ��ȣ��
��Ÿ����. ��, *�� � ���ڿ��̶� �����ϱ⶧���� "image/*"��
"*/*" ���� '���ϵ�ī��' media type�� ����� ���� �ִ�. �׷���
������ ���� ��û��:</p>
<example>Accept: image/*, */*</example>
<p>"image/"�� �����ϴ� � type�� �ٸ� � type�� ��������
�ǹ��Ѵ�. � �������
�ڽ��� ������ �ٷ� �� �ִ� type�� �߰��� ���ϵ�ī�带 ������.
���� ���:</p>
<example>
Accept: text/html, text/plain, image/gif, image/jpeg, */*
</example>
<p>������ ���� ������ type�� ��ȣ������ �ٸ� ǥ���� �ִٸ�
�װ͵� �������� ��Ÿ���� ���ؼ���. ������ ������ ����
���� ������ ���� ��������� ǰ���� ����� ���̴�.</p>
<example>
Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
</example>
<p>���� ������ type�� ǰ������ �� �⺻���� (���� ����)
1.0�� �����. ���ϵ�ī�� */*�� ���� ��ȣ�� 0.01�� �����Ƿ�
���� ������ type�� �´� ������ ��� ��쿡�� �ٸ� type����
���ȴ�.</p>
<p><code>Accept:</code> ����� q ����� ���� <em>���</em>
"*/*"�� �ִٸ�, ����ġ�� �ٶ����� �ൿ�� ���� q ������ 0.01��
�����Ѵ�. ��, "type/*" ������ ���ϵ�ī�忡�� ("*/*"���ٴ�
�� ��ȣ�ϵ���) 0.02�� �����Ѵ�. <code>Accept:</code> �������
q ����� ������ media type�� �ִٸ� �̷� Ư���� ���� �߰�����
<em>�ʴ´�</em>. �׷��� ������� ������ ������ ��������
��û�� ��û�ѵ��� ó���Ѵ�.</p>
</section>
<section id="exceptions"><title>���(language) ����� ����</title>
<p>����ġ 2.0�� ��� ����� ������ ��� �ε巴�� �����ϱ�����
��� �˰?�� ���� ���ܸ� � �߰��ߴ�.</p>
<p>Ŭ���̾�Ʈ�� ������ �������� ��û������ ������ ������
���� <code>Accept-language</code>�� �´� �������� �� �Ѱ���
ã���� ������ ������, �׷��� ���� ��� ������ Ŭ���̾�Ʈ����
"No Acceptable Variant"�� "Multiple Choices" ������ ������.
�̷� ������ ���ϱ����� �� ��� <code>Accept-language</code>��
�����ϰ� Ŭ���̾�Ʈ�� ��û�� ��Ȯ�� ������ ������ ������
�������� ����ġ�� ������ �� �ִ�. <directive
module="mod_negotiation">ForceLanguagePriority</directive>
���þ�� ������ �̷� ������ �ϳ� Ȥ�� �Ѵٸ� �����ϰ�
<directive module="mod_negotiation">LanguagePriority</directive>
���þ�� �Ǵ��ϵ��� �Ѵ�.</p>
<p>��, ������ �´� �� ��ã�� ��� �θ�� ã�� ����
�ִ�. ���� ��� Ŭ���̾�Ʈ�� ������� ���ϴ�
<code>en-GB</code> ���� ������ ��û�� ���, HTTP/1.1 ǥ�ؿ�
��� ������ <code>en</code>���θ� ǥ�õ� ������ �Ϲ�������
�������� ���Ѵ�. (�׷��� ������� �����ϴ� ���ڰ� �Ϲ�����
��� ������ �� �����Ƿ� <code>Accept-Language</code> �����
<code>en-GB</code>�� �����ϰ� <code>en</code>�� ��������������
���� Ȯ���� �߸�� �������� �����϶�. �������� ���� ����
Ŭ���̾�Ʈ���� �̷� ������ �⺻�������ִ�.) �ٸ� ��
ã�� ���Ͽ� ������ "No Acceptable Variants" ���� �����ų�
<directive module="mod_negotiation">LanguagePriority</directive>��
���ư��� �Ѵٸ�, ������ ������� �Ծ��� �����ϰ�
<code>en-GB</code>�� <code>en</code> ������ �����Ѵ�.
�Ϲ������� ����ġ�� �θ�� �ſ� ���� ǰ������
Ŭ���̾�Ʈ�� ����� ��Ͽ� �߰��Ѵ�. �׷��� Ŭ���̾�Ʈ��
"en-GB; q=0.9, fr; q=0.8"�� ��û�ϰ� ������ "en"�� "fr"
������ �ִٸ�, "fr" ������ ���õ��� �����϶�. �̴� HTTP/1.1
ǥ���� ��Ű��, �ùٷ� ������ Ŭ���̾�Ʈ�� ȿ��������
�����ϱ������̴�.</p>
<p>����ڰ� ��ȣ�ϴ� �� �˾Ƴ������� (��Ű�� Ư����
URL-��� ����) ��� ����� �����ϱ����� ����ġ 2.0.47����
<module>mod_negotiation</module>�� <code>prefer-language</code>���
<a href="env.html">ȯ�溯��</a>�� �ν��Ѵ�. �� ȯ�溯����
�����ϰ� ������ ����±׸� �����Ѵٸ�,
<module>mod_negotiation</module>�� �ش��ϴ� ������ �����Ϸ���
�õ��Ѵ�. �׷� ������ ��ٸ� �Ϲ����� �������� �����Ѵ�.</p>
<example><title>����</title>
SetEnvIf Cookie "language=(.+)" prefer-language=$1
</example>
</section>
</section>
<section id="extensions"><title>�ڿ�������(transparent) ��������� Ȯ��</title>
<p>����ġ�� ������ ���� �ڿ������� ����Ȯ�� ���������� (RFC 2295)
Ȯ���Ѵ�. ���� ����� ���ο� <code>{encoding ..}</code>�� Ư��
content-encoding�� ���� ������ ��Ī�Ѵ�. RVSA/1.0 �˰?����
(RFC 2296) ��Ͽ��� ���ڵ�� ������ �ν��� �� �ְ�, ���ڵ���
<code>Accept-Encoding</code> ��û ����� �´� ��� ���ڵ��
����鵵 �ĺ��� ����ϵ��� Ȯ��Ǿ��. RVSA/1.0 ������ ������
������ ã�� �� ���� ǰ������ �Ҽ��� 5�ڸ����� �ݿø�����
�ʴ´�.</p>
</section>
<section id="naming"><title>�����۸�ũ�� �̸���Ģ�� ���Ͽ�</title>
<p>���(language) ����� ����Ѵٸ� ������ ���� Ȯ���ڸ�
������ Ȯ������ ��� ���� �������Ƿ� ���ϸ? ���� �ٸ�
�̸���Ģ�� ����� �� �ִ�. (�ڼ��� ������ <a
href="mod/mod_mime.html#multipleext">mod_mime</a> ������
����϶�.)</p>
<p>�������� ������ MIME-type Ȯ���� (<em>���� ���</em>,
<code>html</code>), ��쿡 ��� encoding Ȯ���� (<em>����
���</em>, <code>gz</code>), ���Ͽ� ���� ��� ������ �ִ�
��� ���� ��� Ȯ���ڸ� (<em>���� ���</em>, <code>en</code>)
�����.</p>
<p>����:</p>
<ul>
<li>foo.en.html</li>
<li>foo.html.en</li>
<li>foo.en.html.gz</li>
</ul>
<p>������ ��� ���ϸ�� �� ���Ͽ� ���� ��ȿ�ϰ� ��ȿ��������
�����۸�ũ�� ���δ�:</p>
<table border="1" cellpadding="8" cellspacing="0">
<columnspec><column width=".2"/><column width=".2"/>
<column width=".2"/></columnspec>
<tr>
<th>���ϸ�</th>
<th>��ȿ�� �����۸�ũ</th>
<th>��ȿ�������� �����۸�ũ</th>
</tr>
<tr>
<td><em>foo.html.en</em></td>
<td>foo<br />
foo.html</td>
<td>-</td>
</tr>
<tr>
<td><em>foo.en.html</em></td>
<td>foo</td>
<td>foo.html</td>
</tr>
<tr>
<td><em>foo.html.en.gz</em></td>
<td>foo<br />
foo.html</td>
<td>foo.gz<br />
foo.html.gz</td>
</tr>
<tr>
<td><em>foo.en.html.gz</em></td>
<td>foo</td>
<td>foo.html<br />
foo.html.gz<br />
foo.gz</td>
</tr>
<tr>
<td><em>foo.gz.html.en</em></td>
<td>foo<br />
foo.gz<br />
foo.gz.html</td>
<td>foo.html</td>
</tr>
<tr>
<td><em>foo.html.gz.en</em></td>
<td>foo<br />
foo.html<br />
foo.html.gz</td>
<td>foo.gz</td>
</tr>
</table>
<p>�� ǥ�� ���� �����۸�ũ�� � Ȯ���ڵ� ��� �̸���
(<em>���� ���</em>, <code>foo</code>) �׻� ����� �� ������
�� �� �ִ�. �� ��� ������ ������ ���� ���� ��� �� �־,
<em>���� ���</em> ���̷���ũ ������ �����Ͼʰ�
<code>html</code> ������ <code>shtml</code>�̳�
<code>cgi</code>�� ������ �� �ִٴ� ���̴�.</p>
<p>��� �����۸�ũ�� MIME-type�� (<em>���� ���</em>,
<code>foo.html</code>) ����ϰ� �ʹٸ� (encoding Ȯ���ڰ�
�ִٸ� �̰͵� �����Ͽ�) ��� Ȯ���ڸ� MIME-type Ȯ���ں���
�����ʿ� (<em>���� ���</em>, <code>foo.html.en</code>)
�ξ���Ѵ�.</p>
</section>
<section id="caching"><title>ij���� ���Ͽ�</title>
<p>ij���� ǥ���� �����ϸ� ǥ���� ��û URL�� �����Ų��.
������ �� URL�� ��û�ϸ� ij���� ����� ǥ���� ����Ѵ�.
�׷��� ������ ����� ������ �ڿ��� ��� ù��° ��û�� ����
ij���Ǿ� ���� ��û�� ij���� �߸�� ������ ���� �� �ִ�.
�̸� �������� ����ġ�� ���� ��������� ��ȯ�Ǵ� ��� ��û��
HTTP/1.0 Ŭ���̾�Ʈ�� ij���� ���ϵ��� ǥ�ø� �Ѵ�. ��, ����ġ��
����� ������ ij���� ����ϴ� HTTP/1.1 ���������� �����
�����Ѵ�.</p>
<p><directive
module="mod_negotiation">CacheNegotiatedDocs</directive>
���þ�� HTTP/1.0 ȣȯ Ŭ���̾�Ʈ(������ Ȥ�� ij��)��
���� ��û�� ���� ����� ������ ij���� �� �ְ� �Ѵ�. �� ���þ��
������ ����ȣ��Ʈ ������ ����ϸ�, �ƱԸ�Ʈ�� �����ʴ´�.
�� ���þ�� HTTP/1.1 Ŭ���̾�Ʈ�� ��û��� ��谡 ���.</p>
<p>HTTP/1.1 Ŭ���̾�Ʈ���� ����ġ�� ������ ��� ������
�˷��ִ� <code>Vary</code> HTTP ��������� ������. �� ������
����Ͽ� ���� ��û�� ij���� ���纻���� ��ü�� �� �ִ���
�Ǵ��� �� �ִ�. ����� ������ ������ ij���� ���纻��
���Ѵٸ� <code>force-no-vary</code> <a
href="env.html#special">ȯ�溯��</a>�� �����Ѵ�.</p>
</section>
<section id="more"><title>�ٸ� ����</title>
<p>������� ���� �ٸ� ������ Alan J. Flavell�� �� <a
href="http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html">Language
Negotiation Notes</a>�� ����϶�. �׷��� �� ������ ����
����ġ 2.0�� ��ȭ�� �ݿ����� ���� �� �ִ�.</p>
</section>
</manualpage>