Apache HTTP Server Version 2.4
ƢÉÇÑ î: ko
í: | ¢ äûҢÙ À¯ÀÏÇÑ ÄÀÚ¦ ƢÁö ȯƩ¯ö¦ Á¦ƩÇÑÙ |
---|---|
»óÅÂ: | Extension |
惡: | unique_id_module |
ÒÄÀÏ: | mod_unique_id.c |
ÀÌ µâÀ îҩ ¯ÇÑ »óȵµ "µç" äûÁ À¯ÀÏÇϵµÏ ÀåµÈ ÄÀÚ(identifier)¦ µç äû Á¦ƩÇÑÙ. ÉÁöî ÀÌ ÄÀÚ ¯ÇÏÔ ÇÑ Å¬¯ÅÍÀÇ ©¯ ÄÄÇ»Å͵é Áµµ À¯ÀÏÇÏÙ. ¢ äûҢ٠ȯƩ¯ö UNIQUE_ID
¦ ÁÇÑÙ. À¯ÀÏÇÑ ÄÀÚ ©¯ƢÁö 뵵Π»çëÇÒ ö ÀÖÁö, íÀ ÀÌ ÀÇ üÀע¦ ÑîÙ.
ÕÀú À¯ ÃÅÛ ÄÄ öƢ î»Ô µÀÛÇÏÂÁö £«È »ììÀÚ. Windows NT ÇöÀç ÀÌ âÉÀ» ÁöÇÏÁö ÊÂÙ. À¯ ÄÄ ©¯ ÀÚÄÀ» µéí, ÀÚÄ ÇÁΠÇÑ ÇÑ äû ÃÇÑÙ. ÀÚÄÀ ÇÇàÁ ©¯ äûÀ» ÃÇÑÙ. ©â ÁäÇÑ ÍÀ ÀÚĵéÀÌ Î ÀÚᦠƩÀ¯ÇÏÁö ÊÂÙ ÁÀÌÙ. ÕÀÎ ÀÚÄÀ» httpd ÇÁÎóí ÇÑÙ.
©¯ ÄÄÇ»ÅÍÎ À¥»çÀÌ碬¦ ñÇÑÙé Ŭ¯ÅÍ(cluster)óí Î¥Ù. ¢ ÄÄÇ»ÅÍ ©¯ ÄĦ ÇÇàÇÒ ö ÀÖÙ. ÀÌµé µÎ¦ "ìÁÖ"Î é, Ŭ¯ÅÍ ÀÖ ÄÄÇ»ÅÍµé£ À ÅëÅÀÌ ¢ äûҢÙ ìÁÖ À¯ÀÏÇÑ ÄÀÚ¦ µé ö ÀÖÙ.
Ŭ¯ÅÍ ÀÖ ÄÄÇ»ÅÍ ÙÀ ä»çÇÀ» ÁÇ ÇÑÙ. (ÄÄÇ»Åͦ ÇÑë »çëÇÏõóµµ ÄÄÇ»ÅÍ Ã£À» NTPÍ µâÇ ÇÑÙ.)
îµÃÁ¦ pid (ÇÁÎ id)Ƣ 32ñ碯 µéî£Ùí ƢÁÇÑÙ. îµÃÁ¦Ƣ pidÎ 32ñ ÀÌ»óÀ» »çëÇÑÙé £ÜÇÏÁö ÄÚµå¦ öÁÇ ÇÑÙ.
ÀÌ ƢÁÇÏ ì碥 îҩ ÃÁ Ŭ¯ÅÍÀÇ îҩ ÄÄÇ»ÅÍ ÀÖ îҩ httpd ÇÁΦ Ù¥ µç httpd ÇÁεéú ÇÒ ö ÀÖÙ. ÄÄÇ»ÅÍÀÇ IP ÁÖÒÍ httpd ÇÁÎÀÇ pidÀεµ ÃÈ ÇÒ ö ÀÖÙ. äû ëÇ À¯ÀÏÇÑ ÀÚ¦ µåÁé 㦠ÇÒ ö ÀÖÀé µÈÙ.
ãÀ» ÇÏâÀÇ À¯ ã(timestamp, è Ç¥ÁÃÎ 1970â 1ù 1ÀÏ ÀÌÈÄ Áö ÃÊ)ú 16ñ Ä«îÅͦ »çëÇÑÙ. À¯ ãÀ ÃÊÜÀÀÌí, Ä«îÅÍ ÀÏ ÃÊµÈ 65536îÁö ÁõƢÇÑÙ. ( ip_addr, pid, time_stamp, counter ) ÀÀ îҩ httpd ÇÁÎ ÀÏ ÃÊµÈ 65536 äûÀ» ÇÒ ö ÀÖÙ. ¯ Ä«îÅÍ pid¦ Àç»çëÇÏ Á¦¦ ÇáÇ ÇÑÙ.
httpd ÀÚÄÀ» µéé Ä«îÅÍ ( ÇöÀç ÃÊ ©â 10 )À» 65536ÀÎ « ÓÁöƢ µÈÙ. (îî ÃÅÛÀÇ ÃÊ Ã£ ÇÏÀ ñƢ ÀÏÄÇÏÁöÊ Á¦ҡש碯 ÀÌ ƩÄÀ» µéúÙ.) À¯ÀÏÇÑ ÄÀÚ¦ µéҡ »çëÇÏ ãÀ À¥öƢ äûÀ» À ãÀÌÙ. Ä«îÅÍ ÄÀÚ¦ µéҡעҢÙ ÁõƢÇÑÙ (í Ùà ÃÀÛÇÑÙ).
ÄÎÀ ÇÁΦ Å©ÇÒҡ(fork) ¢ ÇÁÎ pid¦ ÇÒçÇÏí, pid Ùà ÃÀÛÇÒ ö ÀÖÙ. (pid À À¯ 16ñÀÌÁö, ÃÖÙ ÃÅÛÀ 32ñ硤Î ÈÀåÇÙ.) ãÀÌ Áöé ơÀ pid¦ Àç»çëÇÒ ö ÀÖÙ. ¯ ơÀ ã pid¦ Àç»çëÇÏÁö ÊÂÙé ÀÀÇ ÀÀ À¯ÀÏÇÏÙ. Áï, ì碥 ÃÅÛÀÌ ÀÏÃÊµÈ ÇÁΦ 65536Ʃ ÀÌ»ó µéÁö ÊÂÙí ƢÁÇÑÙ. (îҩ À¯Â 32768Ʃ ÀÌ»ó ÇÁΦ µéé pid Àç»çë Á¦Ƣ »ýÇÒ ö ÀÖÁö, ÀÌÍÁµµ ÀÏî¯ ÍơÁö ÊÙ.)
ãÀÌ îҩ ÀÌÀ¯Ç ݵÈÙí ƢÁÇÀÚ. Áï, ÃÅÛ ÃèƢ © ãÀÌ úÅÎ µƢ (ÈÀ ÃèƢ Ê« ÕƢ ÃÙÎ ÀçÁÇÑÈÄ Ì ơÀ ãÀÌ µÇÂ) ƩìÙ. ÀÌ Ʃì pidÍ Ã£À» µÎ Àç»çëÇÒ ö ÀÖÙ. Ä«îÅÍÀÇ ÃÊâÈ ƩÄÀ ÀÌ Á¦¦ ÇáÇÏÁí íȵÇúÙ. ì碥 ÇÁ¦ «ÀÛÀ ýÀÚÎ Ä«îÅͦ ÃÊâÈÇÏ ÇÏÁö, À ÃÅÛ ÀÌ ö¦ Ô òÀ» ö Ù. (¦ µéî, seedƢ ÇÊäÇÏâҡש碯 rand()¦ »çëÇÒ ö í, ãÀ ÃÖÒÇÑ ÀÏÃÊ ÜÀÀÌâҡש碯 ãÀÎ seedÎ »çëÇÒ ö Ù.) Áï ÏÇÑ ÇáÃ¥ÀÌ Ù.
ÀÌ ýÀ óҩ ¦ÂúÀ»î? ÄÄÇ»ÅÍÁ ÇÏƢ äûÀ» ÃÊç ÃÖë 500Ʃ (ÃÅÛÀ ÀÏÝÀûÀÎ ÁÀûÀÎ ÄÀÏÀ» ÀüÛÇÏÂ Í ÀÌ»óÀÇ ÀÛÀ» ÇÏÇÎ ÀÌ ÛÀ»  ÃÁ »óçÈ ôÀ ƨÀÌÙ.) ñÇÑÙí ƢÁÇÏÀÚ. µÃ óҢÅÀÇ Å¬óÀÌ碬¦ ÃÇÏÂƢ µûó ÀÚÄÀÇ ƩöƢ áÁµÈÙ. ¯ ì碥 ñüÀûÀÎ ÇÑ ÀÚÄÀÌ äûÀ» ÃÊç 500Ʃ ÃÇÒ ö ÀÖÙí ƢÁÇÑÙ. Àç»çëÇÑ pid¦ ƢÁ ÀÚÄÀÇ 500Ʃ äûú ÀÌÀü ÀÚÄÀÇ 500Ʃ äûÀÇ Ä«îÅÍƨÀÌ ãÄ¥ ö ÀÖ īîÅÍ ÃÀÛƨ Ʃìö 1000ƩÀÌÙ. (ÃÊÜÀע) ÀÚÄÀÌ Ä«îÅÍƨÀ» ÝÇÏ© À¯ÀÏÀÌ úÁú È硤üÀ 1.5%ÀÌÙ. ÀÌÍÀ Åì ñüÀûÀÎ ƢÁÀÌç, ÇÁ¦ ÀÌ Ʃì »óçÈ õ Ù. µµ ÃÅÛ ÀÌ ÀÏÀÌ »ýÇÒ Í ơƢÙé (Ò¦ öÁÇÏ©) Ä«îÅͦ 32ñ硤Î µéîó.
ҢÓÅÀÓҡש碯 ÃèƢ "µÚÎ ƢÂ" ÍÀ» ƨÁÇÒÁöµµ ¥Ù. ¯ ©â »çëÇÏ ãÀ Á¦ Ç¥ÁÃ(UTC), Áï ãÀÌ "Ç»ó" ÕÀÎ ƢÇÎ Á¦Ƣ Ù. x86âÝ À¯Â ÀûÀýÇÑ ÁÀÌ ÇÊäÇÏÙ. Àεå ÃèƢ UTC¦ »çëÇϵµÏ ÁÇ ÇÑÙ. ¯ NTP¦ »çëÇÑÙé ÀçÃÀÛÈÄ ÁҡÝ Áöé UTC ã ÃÙÎ ÂÃáÙ.
ȯƩ¯ö UNIQUE_ID
 MIME base64 ÀÎÄÚµùú ñÁÇÑ ýÀÎ 112ñ (32ñ IP ÁÖÒ, 32ñ pid, 32ñ ã, 16ñ Ä«îÅÍ) ÀÀ» ËÄ [A-Za-z0-9@-]
ΠǥÇöÇÑÙ. ÇÁ¦ MIME base64 ËÄÀ [A-Za-z0-9+/]
ÀÌÁö +
Í /
 URL ¯ÇÑ ÀÇÌÎ »çëÇÏÇÎ Á¦ÜÇÙ. µç ƨÀ» 碯 ÙÀÌÎ ÀÎÄÚµùÇÏâҡש碯 Ù¥ ÙÀ̦ »çëÇÏ ÅÅÃÄ£ ƨÀÌ ơƢÙ. ÇÁ¦ ÀÎÄÚµù  ã, IP ÁÖÒ, pid, Ä«îÅÍ ÀÌÙ. ÀÌ Â îҩ ñÀûÀÌ ÀÖÁö, ÇÁÎ¥À ÀÎÄÚµù ÀÇÁÇÏ© ƨµéÀ» ÇÏé ȵÊÀ» ơÁÇÑÙ. ÇÁÎ¥À ÀÎÄÚµùµÈ UNIQUE_ID
Àüæ ÇÑ ÜÀסÎ »ý¢ÇÏí, Ù¥ UNIQUE_ID
Í µÀÏÇÑÁö ñÇÒ ö ÀÖÙ.
 ÕÀÎ âÁÀÇ UNIQUE_ID
µ¥ÀÌÅÍ£ÀÌÍ ÃµÀ» ơÁÇÏÁöÊí ÀÎÄÚµùÀ» ¯ƩÇÒ ö ÀÖµµÏ íÈÇÙ. »õÎî ÀÎÄÚµùÀ à ÇñÀΠãÀ» »çëÇÏÅ, ơÀ ËÄú ñ À̦ »çëÇÒ öµµ ÀÖÙ. ãÀÌ â»ÀûÀÎ ÁõƢÇÏ ƨÀÌÇΠŬ¯ÅÍ ÀÖ µç ÄÄÇ»ÅÍƢ äû ñ¦ ÁÜÇÏí ÀÌÀü ÀÎÄÚµù ÇüÄÀ» »çëÇÏâÀÇ âÁ ÃÊ(flag second)ÀÎ ÃÇÏÙ. ÀÌÈÄ äûÀ» ÀçÔÇÏí »õÎî ÀÎÄÚµùÀ» ÃÀÛÇÒ ö ÀÖÙ.
ì碥 ÀÌ ýÀÌ ÀÌ Á¦ ëÇÏ© »óëÀûÀÎ ÃƢÉÇÑ ÇáÃ¥ÀÌóí ÏÂÙ. ÀÌ ýÀ Windows NTÍ ơÀ Öµå ÃÅÛÀÎ ÈÀåÇÒ ö ÀÖí, ÕÀÎ ëµµ µûó ÈÀåÇÒ ö ÀÖÙ. Ì ÇÊäÇÑÅ õ ä ÄÀÚ¦ µé ö ÀÖâҡש碯 »ýÇÑ ÄÀÚ â»ÀûÀÎ µÇÑ öíÀ» ƢÁÙ. â»ÀûÀΠŬ¯ÅÍÀÇ ÄÄÇ»ÅÍµé »çÀÌ ÅëÅÀÌ ÇÊäí (ÎÇÏƢ ÀÛÀ NTP µâ ÇÊäÇÏÙ), httpd ÇÁÎ »çÀÌ Åëŵµ ÇÊäÙ (ÄÎÀÌ Î©ÇÏ pidƨÀÌ Ï¬ÀûÀÎ ÅëÅÀÌÙ). Åì ¯ÀÌÇÑ »óÈÀÌóé ÀÎÄÀÚ Å©â¦ ÁÙÀÏ ö ÀÖÁö õ À Á¦ ƢÁÇ ÇÑÙ. (¦ µéî, îҩ »çÀÌ碯 32ñ IP ÁÖÒ À ÒÇÊäÇÏÔ Å©Áö, À̦ ÁÙÀÌ ýÀ »óÈ µûó Ù£Ù.)
ƢÉÇÑ î: ko