Apache HTTP Server Version 2.2
This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.
You may follow this link to go to the current version of this document.
¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ ±â¼úµÈ ³»¿ëÇù»ó(content negotiation)À» Áö¿øÇÑ´Ù. ³»¿ëÇù»óÀº media type, ¾ð¾î, ¹®ÀÚÁýÇÕ, ÀÎÄÚµù µî¿¡ ´ëÇØ ºê¶ó¿ìÀú°¡ Á¦°øÇÑ ¼±È£µµ¿¡ µû¶ó ÀÚ¿øÀÇ °¡Àå ÀûÇÕÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÑ´Ù. ¶Ç ºÒ¿ÏÀüÇÑ Çù»ó Á¤º¸¸¦ º¸³»´Â ºê¶ó¿ìÀúÀÇ ¿äûÀ» Áö´ÉÀûÀ¸·Î ó¸®ÇÏ´Â ±â´Éµµ ÀÖ´Ù.
±âº»ÀûÀ¸·Î ÄÄÆÄÀϵǴ mod_negotiation
¸ðµâÀÌ ³»¿ëÇù»ó ±â´ÉÀ» Á¦°øÇÑ´Ù.
ÀÚ¿øÀº ¿©·¯ ´Ù¸¥ Ç¥ÇöÀ» °¡Áú ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, ´Ù¸¥ ¾ð¾î³ª ´Ù¸¥ media type ȤÀº µÑ ¸ðµÎ°¡ ´Ù¸¥ Ç¥ÇöµéÀÌ ÀÖÀ» ¼ö ÀÖ´Ù. °¡Àå Àû´çÇÑ Ç¥ÇöÀ» ¼±ÅÃÇÏ´Â ÇÑ°¡Áö ¹æ¹ýÀº »ç¿ëÀÚ¿¡°Ô ¸ñ·Ï ÆäÀÌÁö¸¦ º¸¿©ÁÖ°í ¼±ÅÃÇÏ°Ô ÇÏ´Â °ÍÀÌ´Ù. ±×·¯³ª ¼¹ö°¡ ÀÚµ¿À¸·Î ¼±ÅÃÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù. ÀÌ´Â ºê¶ó¿ìÀú°¡ ¿äûÀÇ ÀϺηΠ±×µéÀÌ ¼±È£Çϴ ǥÇö¿¡ ´ëÇÑ Á¤º¸¸¦ º¸³»±â¶§¹®¿¡ °¡´ÉÇÏ´Ù. ¿¹¸¦ µé¾î, ºê¶ó¿ìÀú´Â °¡´ÉÇÑÇÑ ºÒ¾î·Î, ±×·¯³ª ¾ø´Ù¸é ¿µ¾î·Î Á¤º¸¸¦ º¸°í½Í´Ù°í ¾Ë·ÁÁÙ ¼ö ÀÖ´Ù. ºê¶ó¿ìÀú´Â ¿äûÀÇ Çì´õ·Î ±×µéÀÇ ±âÈ£¸¦ ³ªÅ¸³½´Ù. ¿ÀÁ÷ ºÒ¾î·ÎµÈ Ç¥Çö¸¸À» ¿äûÇÑ´Ù¸é ºê¶ó¿ìÀú´Â ´ÙÀ½°ú °°ÀÌ º¸³½´Ù.
Accept-Language: fr
ÀÌ·± ±âÈ£´Â Ç¥ÇöÀÌ ¾ð¾îº°·Î ´Ù¸¦ °æ¿ì¿¡¸¸ °í·ÁµÈ´Ù.
´ÙÀ½Àº ´õ º¹ÀâÇÑ ¿äûÀÇ ¿¹·Î ºê¶ó¿ìÀú°¡ ºÒ¾î¿Í ¿µ¾î¸¦ ¹ÞÀ» ¼ö ÀÖÁö¸¸, ºÒ¾î¸¦ ´õ ¼±È£ÇÏ°í, ¿©·¯ media typeÀ» ¹ÞÀ» ¼ö ÀÖÁö¸¸, ÀÏ¹Ý ÅؽºÆ® º¸´Ù´Â HTML, ´Ù¸¥ media type º¸´Ù´Â GIF¿Í JPEGÀ» ¼±È£ÇÑ´Ù°í ¾Ë·ÁÁØ´Ù.
Accept-Language: fr; q=1.0, en; q=0.5
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
¾ÆÆÄÄ¡´Â HTTP/1.1 ±Ô¾à¿¡ Á¤ÀÇµÈ '¼¹ö ÁÖµµ(server driven)'
³»¿ëÇù»óÀ» Áö¿øÇÑ´Ù. ¾ÆÆÄÄ¡´Â Accept
,
Accept-Language
, Accept-Charset
,
Accept-Encoding
¿äû Çì´õ¸¦ ¸ðµÎ Áö¿øÇÑ´Ù.
¶Ç, ¾ÆÆÄÄ¡´Â RFC 2295¿Í RFC 2296¿¡ Á¤ÀÇµÈ ½ÇÇèÀûÀÎ ³»¿ëÇù»óÀÎ
'ÀÚ¿¬½º·¯¿î(transparent)' ¿äû Çì´õµµ Áö¿øÇÑ´Ù. ±×·¯³ª ÀÌ
RFC¿¡ Á¤ÀÇµÈ '±â´É Çù»ó(feature negotiation)'Àº Áö¿øÇÏÁö
¾Ê´Â´Ù.
ÀÚ¿ø(resource)Àº (RFC 2396) URI·Î ±¸º°ÇÏ´Â °³³äÀûÀÎ Á¸Àç´Ù. ¾ÆÆÄÄ¡¿Í °°Àº À¥¼¹ö´Â ÀÚ¿øÀÇ Ç¥Çö(representations)À» Á¦°øÇÑ´Ù. Ç¥ÇöÀº ÁöÁ¤µÈ media type, ¹®ÀÚÁýÇÕ, ÀÎÄÚµù µîÀ» °¡Áø ¹ÙÀÌÆ®µé·Î µÇÀÖ´Ù. ÀÚ¿øÀº ¿©·¯ Ç¥Çö°ú (¶§·Î´Â ¾øÀ» ¼öµµ ÀÖ´Ù) ¿¬°üµÈ´Ù. ÀÚ¿ø¿¡ ¿©·¯ Ç¥ÇöÀÌ ÀÖ´Ù¸é ÀÚ¿øÀ» Çù»ó°¡´ÉÇÏ´Ù°í(negotiable) ºÎ¸£¸ç, À̶§ °¢ Ç¥ÇöÀ» º¯Çü(variant)À̶ó°í ÇÑ´Ù. Çù»ó°¡´ÉÇÑ ÀÚ¿øÀÇ º¯Çü Á¾·ù¸¦ Çù»óÀÇ ¹üÀ§(dimension)¶ó°í ÇÑ´Ù.
ÀÚ¿øÀ» Çù»óÇϱâÀ§ÇØ ¼¹ö´Â °¢ º¯Çü¿¡ ´ëÇÑ Á¤º¸°¡ ÇÊ¿äÇÏ´Ù. ´ÙÀ½ µÎ°¡Áö ¹æ¹ýÁß Çϳª·Î Á¤º¸¸¦ ¾ò´Â´Ù:
*.var
ÆÄÀÏ) »ç¿ëÇϰųª,type mapÀº type-map
À̶õ Çڵ鷯¿Í ¿¬°áµÈ
(ȤÀº ÀÌÀü ¾ÆÆÄÄ¡ ¼³Á¤°ú ȣȯÀ» À§ÇØ MIME typeÀÌ
application/x-type-map
ÀÎ) ¹®¼´Ù. ÀÌ ±â´ÉÀ»
»ç¿ëÇÏ·Á¸é ¼³Á¤¿¡¼ type-map
Çڵ鷯¿¡ ´ëÇÑ
ÆÄÀÏ È®ÀåÀÚ¸¦ ÁöÁ¤ÇØ¾ß ÇÑ´Ù. ¼¹ö ¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ
¼³Á¤ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
AddHandler type-map .var
Type map ÆÄÀÏÀº ÇØ´çÇÏ´Â ÀÚ¿ø°ú À̸§ÀÌ °°¾Æ¾ß ÇÏ°í,
°¢ º¯Çü¿¡ ´ëÇÑ Ç׸ñÀÌ ÀÖ¾î¾ß ÇÑ´Ù. Ç׸ñÀº ¿©·¯ HTTPÇü½Ä
Çì´õ ÁÙ·Î ±¸¼ºµÈ´Ù. º¯Çü¿¡ ´ëÇÑ °¢°¢ÀÇ Ç׸ñµéÀº ºóÁÙ·Î
±¸ºÐÇÑ´Ù. Ç׸ñ¾È¿¡¼ ºóÁÙÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù. (ÀÌ·¸°Ô ÇÒ
ÇÊ¿ä°¡ ¾ø°í, À־ ¹«½ÃÇÏÁö¸¸) ¿©·¯ Ç׸ñÀÌ °øÅëÀ¸·Î °¡Áö°í
ÀÖ´Â ³»¿ëÀ¸·Î map ÆÄÀÏÀ» ½ÃÀÛÇÏ´Â °ÍÀÌ º¸ÅëÀÌ´Ù. ´ÙÀ½Àº
map ÆÄÀÏ ¿¹´Ù. ÀÌ ÆÄÀÏÀÇ À̸§Àº foo.var
·Î,
foo
¶ó´Â ÀÚ¿øÀ» ¼³¸íÇÑ´Ù.
URI: foo
URI: foo.en.html
Content-type: text/html
Content-language: en
URI: foo.fr.de.html
Content-type: text/html;charset=iso-8859-2
Content-language: fr, de
typemap ÆÄÀÏÀÌ ÆÄÀϸí È®ÀåÀÚ º¸´Ù, ½ÉÁö¾î Multiviews¸¦ »ç¿ëÇÏ¿©µµ, ¿ì¼±±ÇÀ» °¡ÁüÀ» ÁÖÀÇÇ϶ó. º¯ÇüÀÌ ¼·Î ´Ù¸¥ Ç°ÁúÀ» °¡Áø´Ù¸é, ´ÙÀ½°ú °°ÀÌ (JPEG, GIF, ASCII-art¿¡ ÇØ´çÇÏ´Â) media type¿¡ "qs" ÆĶó¹ÌÅÍ·Î Ç°Áú(source quality)À» Ç¥½ÃÇÒ ¼ö ÀÖ´Ù:
URI: foo
URI: foo.jpeg
Content-type: image/jpeg; qs=0.8
URI: foo.gif
Content-type: image/gif; qs=0.5
URI: foo.txt
Content-type: text/plain; qs=0.01
qs °ªÀº 0.000¿¡¼ 1.000 »çÀÌ´Ù. qs °ªÀÌ 0.000ÀÎ º¯ÇüÀº Àý´ë ¼±ÅõÇÁö ¾ÊÀ½À» ÁÖÀÇÇ϶ó. 'qs' °ªÀÌ ¾ø´Â º¯ÇüÀº 1.0À¸·Î Ãë±ÞµÈ´Ù. qs °ªÀº Ŭ¶óÀ̾ðÆ®ÀÇ ´É·Â°ú´Â °ü°è¾øÀÌ ´Ù¸¥ º¯Çüµé°ú ºñ±³ÇÏ¿© ±× º¯ÇüÀÇ »ó´ëÀûÀÎ 'Ç°Áú'À» ³ªÅ¸³½´Ù. ¿¹¸¦ µé¾î, »çÁøÀ» ³ªÅ¸³»·Á´Â °æ¿ì JPEG ÆÄÀÏÀÌ ASCII ÆÄÀϺ¸´Ù´Â Ç×»ó ³ôÀº Ç°ÁúÀ» °¡Áø´Ù. ±×·¯³ª ÀÚ¿øÀÌ ¿ø·¡ ASCII art¿´´Ù¸é ASCII Ç¥ÇöÀÌ JPEG Ç¥Çöº¸´Ù ´õ ³ôÀº Ç°ÁúÀ» °¡Áú ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ¾î¶² º¯ÇüÀÇ qs °ªÀº Ç¥ÇöÇÏ·Á´Â ÀÚ¿øÀÇ ¼ºÁú¿¡ µû¶ó ´Ù¸£´Ù.
Áö¿øÇÏ´Â ¸ðµç Çì´õ ¸ñ·ÏÀº mod_negotation typemap ¹®¼¸¦ Âü°íÇ϶ó.
MultiViews
´Â µð·ºÅ丮º° ¿É¼ÇÀ̹ǷÎ,
httpd.conf
ÀÇ
<Directory>
,
<Location>
,
<Files>
¼½¼Ç ȤÀº (AllowOverride
°¡
ÀûÀýÈ÷ ¼³Á¤µÇ¾ú´Ù¸é) .htaccess
ÆÄÀÏÀÇ
Options
Áö½Ã¾î¿¡ ¼³Á¤ÇÒ
¼ö ÀÖ´Ù. Options All
˼ MultiViews
¸¦
Æ÷ÇÔÇÏÁö¾ÊÀ½À» ÁÖÀÇÇ϶ó. µû·Î Á÷Á¢ ½áÁà¾ß ÇÑ´Ù.
MultiViews
¸¦ »ç¿ëÇÏ¸é ´ÙÀ½°ú °°Àº ÀÏÀÌ ÀϾÙ:
¼¹ö°¡ /some/dir/foo
¿¡ ´ëÇÑ ¿äûÀ» ¹Þ°í
/some/dir/foo
¿¡ MultiViews
°¡ µ¿ÀÛÇϸç
/some/dir/foo
°¡ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì,
¼¹ö´Â µð·ºÅ丮¿¡¼ À̸§ÀÌ foo.*ÀÎ ÆÄÀϵéÀ» ¸ðµç Æ÷ÇÔÇÏ´Â
°¡»óÀÇ type mapÀ» ¸¸µç´Ù. Ŭ¶óÀ̾ðÆ®°¡ ¿äûÇÑ media type°ú
content-encodingÀ» °¡Áö°í ÀÌÁß¿¡ °¡Àå ÀûÇÕÇÑ °ÍÀ» ¼±ÅÃÇÑ´Ù.
MultiViews
´Â ¼¹ö°¡ µð·ºÅ丮¸¦ ÂüÁ¶ÇÒ¶§
ÆÄÀÏÀ» ã´Â DirectoryIndex
Áö½Ã¾î¿¡µµ
Àû¿ëµÈ´Ù. ¼³Á¤ÆÄÀÏÀÌ ´ÙÀ½°ú °°´Ù¸é,
DirectoryIndex index
index.html
°ú index.html3
ÀÌ
¸ðµÎ ÀÖ´Ù¸é ¼¹ö´Â ÀÌµÑ Áß¿¡ Çϳª¸¦ °áÁ¤ÇÑ´Ù. µÑ ¸ðµÎ ¾ø°í
index.cgi
°¡ ÀÖ´Ù¸é, ¼¹ö´Â ±×°ÍÀ» ½ÇÇàÇÑ´Ù.
µð·ºÅ丮¸¦ ÀÐÀ»¶§ ÆÄÀÏÁß Çϳª°¡ Charset, Content-Type,
Language, Encoding¸¦ ÆÇ´ÜÇÏ´Â mod_mime
ÀÌ ¸ð¸£´Â
È®ÀåÀÚ¸¦ °¡Áø´Ù¸é, °á°ú´Â MultiViewsMatch
Áö½Ã¾î ¼³Á¤¿¡
´Þ·Ç´Ù. ÀÌ Áö½Ã¾î´Â Çڵ鷯, ÇÊÅÍ, ´Ù¸¥ È®ÀåÇüµéÀÌ MultiViews
Çù»ó¿¡ Âü¿©ÇÒÁö ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù.
¾ÆÆÄÄ¡°¡ type-map ÆÄÀÏÀ̳ª µð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀϸíµé·Î ÁÖ¾îÁø ÀÚ¿ø¿¡ ´ëÇÑ º¯Çü ¸ñ·ÏÀ» ¾ò°ÔµÇ¸é 'ÃÖÀûÀÇ' º¯ÇüÀ» °áÁ¤ÇϱâÀ§ÇØ µÎ ¹æ¹ýÁß Çϳª¸¦ »ç¿ëÇÑ´Ù. ¾ÆÆÄÄ¡ ³»¿ëÇù»ó ±â´ÉÀ» »ç¿ëÇϱâÀ§ÇØ Á¤È®È÷ Çù»óÀÌ ¾î¶»°Ô ÀϾ´ÂÁö ÀÚ¼¼È÷ ¾Ë ÇÊ¿ä´Â ¾ø´Ù. ±×·¯³ª ±Ã±ÝÇÑ »ç¶÷À» À§ÇØ ÀÌ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
µÎ°¡Áö Çù»ó¹æ¹ýÀÌ ÀÖ´Ù:
¹üÀ§ | ¼³¸í |
---|---|
Media Type | ºê¶ó¿ìÀú´Â Accept Çì´õ·Î ¼±È£¸¦ ³ªÅ¸³½´Ù.
°¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀÇ ¼³¸íµµ Ç°Áú°è¼ö¸¦
("qs" ÆĶó¹ÌÅÍ) °¡Áú ¼ö ÀÖ´Ù. |
Language | ºê¶ó¿ìÀú´Â Accept-Language Çì´õ·Î ¼±È£¸¦
³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº
¿©·¯ ¾ð¾î¸¦ °¡Áú (ȤÀº ¾Æ¹« ¾ð¾îµµ ¾øÀ») ¼ö ÀÖ´Ù. |
Encoding | ºê¶ó¿ìÀú´Â Accept-Encoding Çì´õ·Î ¼±È£¸¦
³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. |
Charset | ºê¶ó¿ìÀú´Â Accept-Charset Çì´õ·Î ¼±È£¸¦
³ªÅ¸³½´Ù. °¢ Ç׸ñÀº Ç°Áú°è¼ö¸¦ °¡Áú ¼ö ÀÖ´Ù. º¯ÇüÀº
media typeÀÇ ÆĶó¹ÌÅÍ·Î ¹®ÀÚÁýÇÕÀ» ³ªÅ¸³¾ ¼ö ÀÖ´Ù. |
¾ÆÆÄÄ¡´Â ºê¶ó¿ìÀú¿¡°Ô º¸³¾ 'ÃÖÀûÀÇ' º¯ÇüÀ» (ÀÖ´Ù¸é) ¼±ÅÃÇϱâÀ§ÇØ ¾Æ·¡ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÑ´Ù. ÀÌ ¾Ë°í¸®ÁòÀº º¯°æÇÒ ¼ö ¾ø´Ù. ´ÙÀ½¿Í °°ÀÌ µ¿ÀÛÇÑ´Ù:
Accept
Çì´õÀÇ Ç°Áú°è¼ö¿Í º¯ÇüÀÇ
media type¿¡ ´ëÇÑ Ç°Áú°ªÀ» °öÇÏ¿© °¡Àå ³ôÀº °ªÀ»
°¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.Accept-Language
Çì´õ¿¡ (ÀÖ´Ù¸é)
³ª¿Â ¾ð¾îÀÇ ¼ø¼ ȤÀº LanguagePriority
Áö½Ã¾î¿¡ (ÀÖ´Ù¸é) ³ª¿Â ¾ð¾îÀÇ ¼ø¼¸¦ °¡Áö°í °¡Àå
ÀûÇÕÇÑ ¾ð¾î¸¦ °¡Áø º¯ÇüÀ» ¼±ÅÃÇÑ´Ù.Accept-Charset
Çì´õ¸¦ °¡Áö°í °¡Àå
ÀûÇÕÇÑ charset media ÆĶó¹ÌÅ͸¦ °¡Áø º¯ÇüÀ» ã´Â´Ù.
Çì´õ°¡ ¾ø´Ù¸é ISO-8859-1 ¹®ÀÚÁýÇÕÀ» °¡Àå ¼±È£ÇÑ´Ù.
text/*
media typeÀ» °¡ÁöÁö¸¸ ¸í½ÃÀûÀ¸·Î
ƯÁ¤ ¹®ÀÚÁýÇÕ°ú ¿¬°áµÇÁö¾ÊÀº º¯ÇüÀº ISO-8859-1·Î
°¡Á¤ÇÑ´Ù.Vary
´Â Çù»óÀÇ ¹üÀ§¸¦
³ªÅ¸³»°Ô µÈ´Ù. (ºê¶ó¿ìÀú¿Í ij½¬´Â ÀÚ¿øÀ» ij½¬ÇÒ¶§ ÀÌ Á¤º¸¸¦
»ç¿ëÇÒ ¼ö ÀÖ´Ù.) ³¡.Vary
Çì´õ´Â º¯ÇüÀÇ ¹üÀ§¸¦ ³ªÅ¸³½´Ù.¾ÆÆÄÄ¡´Â Á¾Á¾ À§ÀÇ ¾ÆÆÄÄ¡ Çù»ó ¾Ë°í¸®ÁòÀ» ¾ö°ÝÈ÷ ÁöÅ°Áö¾Ê°í
Ç°Áú°è¼ö¸¦ º¯°æÇÑ´Ù. ÀÌÀ¯´Â ¿ÏÀüÇÏ°í Á¤È®ÇÑ Á¤º¸¸¦ º¸³»Áö¾Ê´Â
ºê¶ó¿ìÀú¿¡°Ô (¾Ë°í¸®ÁòÀÇ) ´õ ³ªÀº °á°ú¸¦ º¸³»±â À§Çؼ´Ù.
³Î¸® ¾²ÀÌ´Â ºê¶ó¿ìÀúÁß ÀϺδ ÀÚÁÖ À߸øµÈ º¯ÇüÀ» ¼±ÅÃÇϵµ·Ï
Accept
Çì´õ¸¦ º¸³½´Ù. ºê¶ó¿ìÀú°¡ ¿ÏÀüÇÏ°í ¿Ã¹Ù¸¥
Á¤º¸¸¦ º¸³½´Ù¸é, Á¶ÀÛÀ» ÇÏÁö¾Ê´Â´Ù.
Accept:
¿äû Çì´õ´Â media type¿¡ ´ëÇÑ ¼±È£¸¦
³ªÅ¸³½´Ù. ¶Ç, *´Â ¾î¶² ¹®ÀÚ¿ÀÌ¶óµµ °¡´ÉÇϱ⶧¹®¿¡ "image/*"³ª
"*/*" °°ÀÌ '¿ÍÀϵåÄ«µå' media typeÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ±×·¡¼
´ÙÀ½°ú °°Àº ¿äûÀº:
Accept: image/*, */*
"image/"·Î ½ÃÀÛÇÏ´Â ¾î¶² type°ú ´Ù¸¥ ¾î¶² typeµµ °¡´ÉÇÔÀ» ÀǹÌÇÑ´Ù. ¾î¶² ºê¶ó¿ìÀú´Â ÀÚ½ÅÀÌ ½ÇÁ¦·Î ´Ù·ê ¼ö ÀÖ´Â type¿¡ Ãß°¡·Î ¿ÍÀϵåÄ«µå¸¦ º¸³½´Ù. ¿¹¸¦ µé¸é:
Accept: text/html, text/plain, image/gif, image/jpeg, */*
ÀÌÀ¯´Â Á÷Á¢ ¿°ÅÇÑ typeÀ» ¼±È£ÇÏÁö¸¸ ´Ù¸¥ Ç¥ÇöÀÌ ÀÖ´Ù¸é ±×°Íµµ ±¦ÂúÀ½À» ³ªÅ¸³»±â À§Çؼ´Ù. ºê¶ó¿ìÀú°¡ ½ÇÁ¦·Î ¿øÇÑ °ÍÀº ´ÙÀ½°ú °°ÀÌ ¸í½ÃÀûÀ¸·Î Ç°Áú°ªÀ» »ç¿ëÇÑ °ÍÀÌ´Ù.
Accept: text/html, text/plain, image/gif, image/jpeg, */*; q=0.01
Á÷Á¢ ¿°ÅÇÑ typeÀº Ç°Áú°è¼ö°¡ ¾ø¾î¼ ±âº»°ªÀÎ (°¡Àå ³ôÀº) 1.0À» °¡Áø´Ù. ¿ÍÀϵåÄ«µå */*´Â ³·Àº ¼±È£µµ 0.01À» °¡Áö¹Ç·Î Á÷Á¢ ¿°ÅÇÑ type¿¡ ¸Â´Â º¯ÇüÀÌ ¾ø´Â °æ¿ì¿¡¸¸ ´Ù¸¥ typeµéÀÌ »ç¿ëµÈ´Ù.
Accept:
Çì´õ¿¡ q °è¼ö°¡ ÀüÇô ¾ø°í
"*/*"°¡ ÀÖ´Ù¸é, ¾ÆÆÄÄ¡´Â ¹Ù¶÷Á÷ÇÑ ÇൿÀ» À§ÇØ q °ªÀ¸·Î 0.01À»
ÁöÁ¤ÇÑ´Ù. ¶Ç, "type/*" ÇüÅÂÀÇ ¿ÍÀϵåÄ«µå¿¡´Â ("*/*"º¸´Ù´Â
´õ ¼±È£Çϵµ·Ï) 0.02¸¦ ÁöÁ¤ÇÑ´Ù. Accept:
Çì´õ¿¡¼
q °è¼ö¸¦ °¡Áö´Â media typeÀÌ ÀÖ´Ù¸é ÀÌ·± Ưº°ÇÑ °ªÀ» Ãß°¡ÇÏÁö
¾Ê´Â´Ù. ±×·¡¼ ¸í½ÃÀûÀÎ Á¤º¸¸¦ º¸³»´Â ºê¶ó¿ìÀúÀÇ
¿äûÀº ¿äûÇѵ¥·Î ó¸®ÇÑ´Ù.
¾ÆÆÄÄ¡ 2.0Àº ¾ð¾î Çù»óÀÌ ½ÇÆÐÇÑ °æ¿ì ºÎµå·´°Ô º¹±¸ÇϱâÀ§ÇØ Çù»ó ¾Ë°í¸®Áò¿¡ »õ·Î ¿¹¿Ü¸¦ ¸î°³ Ãß°¡Çß´Ù.
Ŭ¶óÀ̾ðÆ®°¡ ¼¹ö¿¡ ÆäÀÌÁö¸¦ ¿äûÇßÀ»¶§ ¼¹ö°¡ ºê¶ó¿ìÀú°¡
º¸³½ Accept-language
¿¡ ¸Â´Â ÆäÀÌÁö¸¦ ´Ü ÇÑ°³¸¸
ãÀ¸¸é ¹®Á¦°¡ ¾øÁö¸¸, ±×·¯Áö ¾ÊÀº °æ¿ì ¼¹ö´Â Ŭ¶óÀ̾ðÆ®¿¡°Ô
"No Acceptable Variant"³ª "Multiple Choices" ÀÀ´äÀ» º¸³½´Ù.
ÀÌ·± ¿À·ù¹®À» ÇÇÇϱâÀ§ÇØ ÀÌ °æ¿ì Accept-language
¸¦
¹«½ÃÇÏ°í Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû¿¡ ¸íÈ®È÷ ¸ÂÁö´Â ¾ÊÁö¸¸ ¹®¼¸¦
º¸³»µµ·Ï ¾ÆÆÄÄ¡¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ForceLanguagePriority
Áö½Ã¾î´Â ¼¹ö°¡ ÀÌ·± ¿À·ù¹®Áß Çϳª ȤÀº µÑ´Ù¸¦ ¹«½ÃÇÏ°í
LanguagePriority
Áö½Ã¾î·Î ÆÇ´ÜÇϵµ·Ï ÇÑ´Ù.
¶Ç, ¼¹ö´Â ¸Â´Â ¾ð¾î¸¦ ¸øãÀº °æ¿ì ºÎ¸ð¾ð¾î¸¦ ãÀ» ¼öµµ
ÀÖ´Ù. ¿¹¸¦ µé¾î Ŭ¶óÀ̾ðÆ®°¡ ¿µ±¹¿µ¾î¸¦ ¶æÇÏ´Â
en-GB
¾ð¾î·Î ¹®¼¸¦ ¿äûÇÑ °æ¿ì, HTTP/1.1 Ç¥ÁØ¿¡
µû¸£¸é ¼¹ö´Â en
À¸·Î¸¸ Ç¥½ÃµÈ ¹®¼¸¦ ÀϹÝÀûÀ¸·Î
¼±ÅÃÇÏÁö ¸øÇÑ´Ù. (±×·¡¼ ¿µ±¹¿µ¾î¸¦ ÀÌÇØÇÏ´Â µ¶ÀÚ°¡ ÀϹÝÀûÀÎ
¿µ¾îµµ ÀÌÇØÇÒ ¼ö ÀÖÀ¸¹Ç·Î Accept-Language
Çì´õ¿¡
en-GB
¸¸ Æ÷ÇÔÇÏ°í en
À» Æ÷ÇÔÇÏÁö¾ÊÀ¸¸é
°ÅÀÇ È®½ÇÈ÷ À߸øµÈ ¼³Á¤ÀÓÀ» À¯ÀÇÇ϶ó. ºÒÇàÈ÷µµ ÇöÀç ¸¹Àº
Ŭ¶óÀ̾ðÆ®µéÀº ÀÌ·± ½ÄÀ¸·Î ±âº»¼³Á¤µÇÀÖ´Ù.) ´Ù¸¥ ¾ð¾î¸¦
ãÁö ¸øÇÏ¿© ¼¹ö°¡ "No Acceptable Variants" ¿À·ù¸¦ º¸³»°Å³ª
LanguagePriority
·Î
µ¹¾Æ°¡¾ß ÇÑ´Ù¸é, ¼¹ö´Â ÇÏÀ§¾ð¾î ±Ô¾àÀ» ¹«½ÃÇÏ°í
en-GB
¸¦ en
¹®¼¿¡ ´ëÀÀÇÑ´Ù.
¾Ï¹¬ÀûÀ¸·Î ¾ÆÆÄÄ¡´Â ºÎ¸ð¾ð¾î¸¦ ¸Å¿ì ³·Àº Ç°Áú°ªÀ¸·Î
Ŭ¶óÀ̾ðÆ®ÀÇ Çã¿ë¾ð¾î ¸ñ·Ï¿¡ Ãß°¡ÇÑ´Ù. ±×·¯³ª Ŭ¶óÀ̾ðÆ®°¡
"en-GB; q=0.9, fr; q=0.8"À» ¿äûÇÏ°í ¼¹ö¿¡ "en"°ú "fr"
¹®¼°¡ ÀÖ´Ù¸é, "fr" ¹®¼°¡ ¼±ÅõÊÀ» ÁÖÀÇÇ϶ó. ÀÌ´Â HTTP/1.1
Ç¥ÁØÀ» ÁöÅ°°í, ¿Ã¹Ù·Î ¼³Á¤µÈ Ŭ¶óÀ̾ðÆ®¿Í È¿À²ÀûÀ¸·Î
µ¿ÀÛÇϱâÀ§ÇÔÀÌ´Ù.
»ç¿ëÀÚ°¡ ¼±È£ÇÏ´Â ¾ð¾î¸¦ ¾Ë¾Æ³»±âÀ§ÇÑ (ÄíÅ°³ª Ưº°ÇÑ
URL-°æ·Î °°Àº) °í±Þ ±â¹ýÀ» Áö¿øÇϱâÀ§ÇØ ¾ÆÆÄÄ¡ 2.0.47ºÎÅÍ
mod_negotiation
˼ prefer-language
¶ó´Â
ȯ°æº¯¼ö¸¦ ÀνÄÇÑ´Ù. ÀÌ È¯°æº¯¼ö°¡
Á¸ÀçÇÏ°í ÀûÀýÇÑ ¾ð¾îű׸¦ Æ÷ÇÔÇÑ´Ù¸é,
mod_negotiation
Àº ÇØ´çÇÏ´Â º¯ÇüÀ» ¼±ÅÃÇÏ·Á°í
½ÃµµÇÑ´Ù. ±×·± º¯ÇüÀÌ ¾ø´Ù¸é ÀϹÝÀûÀÎ Çù»ó°úÁ¤À» ½ÃÀÛÇÑ´Ù.
SetEnvIf Cookie "language=(.+)" prefer-language=$1
¾ÆÆÄÄ¡´Â ´ÙÀ½°ú °°ÀÌ ÀÚ¿¬½º·¯¿î ³»¿ëÈ®Àå ÇÁ·ÎÅäÄÝÀ» (RFC 2295)
È®ÀåÇÑ´Ù. º¯Çü ¸ñ·ÏÀÇ »õ·Î¿î {encoding ..}
´Â ƯÁ¤
content-encodingÀ» °¡Áø º¯Çü¸¸À» ÁöĪÇÑ´Ù. RVSA/1.0 ¾Ë°í¸®ÁòÀº
(RFC 2296) ¸ñ·Ï¿¡¼ ÀÎÄÚµùµÈ º¯ÇüÀ» ÀνÄÇÒ ¼ö ÀÖ°í, ÀÎÄÚµùÀÌ
Accept-Encoding
¿äû Çì´õ¿¡ ¸Â´Â °æ¿ì ÀÎÄÚµùµÈ
º¯Çüµéµµ È帷Π»ç¿ëÇϵµ·Ï È®ÀåµÇ¾ú´Ù. RVSA/1.0 ±¸ÇöÀº ÃÖÀûÀÇ
º¯ÇüÀ» ã±â Àü¿¡ °è»êµÈ Ç°Áú°è¼ö¸¦ ¼Ò¼öÁ¡ 5ÀÚ¸®¿¡¼ ¹Ý¿Ã¸²ÇÏÁö
¾Ê´Â´Ù.
¾ð¾î(language) Çù»óÀ» »ç¿ëÇÑ´Ù¸é ÆÄÀÏÀº ¿©·¯ È®ÀåÀÚ¸¦ °¡Áö°í È®ÀåÀÚÀÇ ¼ø¼´Â º¸Åë °ü°è¾øÀ¸¹Ç·Î ÆÄÀÏ¸í¿¡ ¿©·¯ ´Ù¸¥ À̸§±ÔÄ¢À» »ç¿ëÇÒ ¼ö ÀÖ´Ù. (ÀÚ¼¼ÇÑ ³»¿ëÀº mod_mime ¹®¼¸¦ Âü°íÇ϶ó.)
ÀüÇüÀûÀÎ ÆÄÀÏÀº MIME-type È®ÀåÀÚ (¿¹¸¦ µé¾î,
html
), °æ¿ì¿¡ µû¶ó encoding È®ÀåÀÚ (¿¹¸¦
µé¾î, gz
), ÆÄÀÏ¿¡ ¿©·¯ ¾ð¾î º¯ÇüÀÌ ÀÖ´Â
°æ¿ì ¹°·Ð ¾ð¾î È®ÀåÀÚ¸¦ (¿¹¸¦ µé¾î, en
)
°¡Áø´Ù.
¿¹Á¦:
´ÙÀ½Àº ¸î¸î ÆÄÀϸí°ú ±× ÆÄÀÏ¿¡ ´ëÇÑ À¯È¿ÇÏ°í À¯È¿ÇÏÁö¾ÊÀº ÇÏÀÌÆÛ¸µÅ©¸¦ º¸ÀδÙ:
ÆÄÀϸí | À¯È¿ÇÑ ÇÏÀÌÆÛ¸µÅ© | À¯È¿ÇÏÁö¾ÊÀº ÇÏÀÌÆÛ¸µÅ© |
---|---|---|
foo.html.en | foo foo.html |
- |
foo.en.html | foo | foo.html |
foo.html.en.gz | foo foo.html |
foo.gz foo.html.gz |
foo.en.html.gz | foo | foo.html foo.html.gz foo.gz |
foo.gz.html.en | foo foo.gz foo.gz.html |
foo.html |
foo.html.gz.en | foo foo.html foo.html.gz |
foo.gz |
À§ Ç¥¸¦ º¸¸é ÇÏÀÌÆÛ¸µÅ©¿¡ ¾î¶² È®ÀåÀÚµµ ¾ø´Â À̸§À»
(¿¹¸¦ µé¾î, foo
) Ç×»ó »ç¿ëÇÒ ¼ö ÀÖÀ½À»
¾Ë ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÀåÁ¡Àº ¹®¼ÀÇ ½ÇÁ¦ Á¾·ù¸¦ ¼û±æ ¼ö ÀÖ¾î¼,
¿¹¸¦ µé¾î ÇÏÀÌ·¯¸µÅ© ÂüÁ¶¸¦ ¼öÁ¤ÇϾʰí
html
ÆÄÀÏÀ» shtml
À̳ª
cgi
·Î º¯°æÇÒ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù.
°è¼Ó ÇÏÀÌÆÛ¸µÅ©¿¡ MIME-typeÀ» (¿¹¸¦ µé¾î,
foo.html
) »ç¿ëÇÏ°í ½Í´Ù¸é (encoding È®ÀåÀÚ°¡
ÀÖ´Ù¸é À̰͵µ Æ÷ÇÔÇÏ¿©) ¾ð¾î È®ÀåÀÚ¸¦ MIME-type È®ÀåÀÚº¸´Ù
¿À¸¥ÂÊ¿¡ (¿¹¸¦ µé¾î, foo.html.en
)
µÎ¾î¾ßÇÑ´Ù.
ij½¬°¡ Ç¥ÇöÀ» ÀúÀåÇϸé Ç¥Çö°ú ¿äû URLÀ» ¿¬°ü½ÃŲ´Ù. ´ÙÀ½¹ø ±× URLÀ» ¿äûÇϸé ij½¬´Â ÀúÀåµÈ Ç¥ÇöÀ» »ç¿ëÇÑ´Ù. ±×·¯³ª ¼¹ö¿Í Çù»óÀÌ °¡´ÉÇÑ ÀÚ¿øÀÎ °æ¿ì ù¹ø° ¿äûÇÑ º¯Çü¸¸ ij½¬µÇ¾î ÀÌÈÄ ¿äûÀº ij½¬µÈ À߸øµÈ ÀÀ´äÀ» ¾òÀ» ¼ö ÀÖ´Ù. À̸¦ ¸·±âÀ§ÇØ ¾ÆÆÄÄ¡´Â º¸Åë ³»¿ëÇù»óÈÄ ¹ÝȯµÇ´Â ¸ðµç ¿äû¿¡ HTTP/1.0 Ŭ¶óÀ̾ðÆ®°¡ ij½¬¸¦ ¸øÇϵµ·Ï Ç¥½Ã¸¦ ÇÑ´Ù. ¶Ç, ¾ÆÆÄÄ¡´Â Çù»óÇÑ ÀÀ´äÀÇ Ä³½¬¸¦ Çã¿ëÇÏ´Â HTTP/1.1 ÇÁ·ÎÅäÄÝÀÇ ±â´ÉÀ» Áö¿øÇÑ´Ù.
CacheNegotiatedDocs
Áö½Ã¾î´Â HTTP/1.0 ȣȯ Ŭ¶óÀ̾ðÆ®(ºê¶ó¿ìÀú ȤÀº ij½¬)°¡
º¸³½ ¿äû¿¡ ´ëÇØ Çù»óÇÑ ÀÀ´äÀ» ij½¬ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ Áö½Ã¾î´Â
¼¹ö³ª °¡»óÈ£½ºÆ® ¼³Á¤¿¡ »ç¿ëÇϸç, ¾Æ±Ô¸ÕÆ®¸¦ ¹ÞÁö¾Ê´Â´Ù.
ÀÌ Áö½Ã¾î´Â HTTP/1.1 Ŭ¶óÀ̾ðÆ®ÀÇ ¿äû°ú´Â °ü°è°¡ ¾ø´Ù.
HTTP/1.1 Ŭ¶óÀ̾ðÆ®¿¡°Ô ¾ÆÆÄÄ¡´Â ÀÀ´äÀÇ Çù»ó ¹üÀ§¸¦
¾Ë·ÁÁÖ´Â Vary
HTTP ÀÀ´äÇì´õ¸¦ º¸³½´Ù. ÀÌ Á¤º¸¸¦
»ç¿ëÇÏ¿© ´ÙÀ½ ¿äûÀ» ij½¬µÈ º¹»çº»À¸·Î ´ëüÇÒ ¼ö ÀÖ´ÂÁö
ÆÇ´ÜÇÒ ¼ö ÀÖ´Ù. Çé»óÀÇ ¹üÀ§¿Í °ü°è¾øÀÌ Ä³½¬µÈ º¹»çº»À»
±ÇÇÑ´Ù¸é force-no-vary
ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÑ´Ù.