Sun Java System Web Proxy Server 4 .0.1 °ü¸® ¼³¸í¼ |
17 Àå
Ŭ¶óÀ̾ðÆ® ÀÚµ¿ ±¸¼º ÆÄÀÏ »ç¿ë¸¹Àº ¼öÀÇ Å¬¶óÀ̾ðÆ®¸¦ Áö¿øÇÏ´Â ¿©·¯ ÇÁ·Ï½Ã ¼¹ö°¡ ÀÖ´Â °æ¿ì Ŭ¶óÀ̾ðÆ® ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¸ðµç ºê¶ó¿ìÀú Ŭ¶óÀ̾ðÆ®¸¦ ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡´Â ºê¶ó¿ìÀú°¡ ´Ù¾çÇÑ URLÀ» ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÒ ÇÁ·Ï½Ã¸¦ °áÁ¤ÇÏ´Â JavaScript ÇÔ¼ö°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
ºê¶ó¿ìÀú´Â ½ÃÀÛµÉ ¶§ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ·ÎµåÇÕ´Ï´Ù. »ç¿ëÀÚ°¡ ¸µÅ©¸¦ ´©¸£°Å³ª URLÀ» ÀÔ·ÂÇÒ ¶§¸¶´Ù ºê¶ó¿ìÀú´Â ÀÌ ±¸¼º ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ÇÁ·Ï½Ã¸¦ »ç¿ëÇÒÁö, ¶Ç »ç¿ëÇÑ´Ù¸é ¾î¶² ÇÁ·Ï½Ã¸¦ »ç¿ëÇÒÁö °áÁ¤ÇÕ´Ï´Ù. ÀÌ ±â´ÉÀ» »ç¿ëÇÏ¿© Á¶Á÷ ³» ºê¶ó¿ìÀúÀÇ ¸ðµç ÀνºÅϽº¸¦ ½±°Ô ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» Ŭ¶óÀ̾ðÆ®¿¡ °¡Á®¿À´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖ½À´Ï´Ù.
- ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¹ÝȯÇÏ´Â À¥ ¼¹ö·Î ÇÁ·Ï½Ã ¼¹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ºê¶ó¿ìÀú¸¦ ÇÁ·Ï½ÃÀÇ URL·Î ÇâÇϵµ·Ï ÇÕ´Ï´Ù. ÇÁ·Ï½Ã°¡ À¥ ¼¹ö ¿ªÇÒÀ» Çϵµ·Ï Çϸé ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ÇÑ ÁöÁ¡¿¡ µÑ ¼ö Àֱ⠶§¹®¿¡ ¾÷µ¥ÀÌÆ®°¡ ÇÊ¿äÇÑ °æ¿ì ÇÑ ÆÄÀϸ¸ º¯°æÇÏ¸é µË´Ï´Ù.
- ÆÄÀÏÀ» À¥ ¼¹ö, FTP ¼¹ö ¶Ç´Â ºê¶ó¿ìÀú°¡ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â ³×Æ®¿öÅ© µð·ºÅ丮¿¡ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏÀÇ URLÀ» Á¦°øÇÏ¿© ºê¶ó¿ìÀú°¡ ÇØ´ç ÆÄÀÏÀ» ãµµ·Ï ±¸¼ºÇϸé ÀϹÝÀûÀÎ URLÀÇ °æ¿ì ÀÌ¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù. º¹ÀâÇÑ °è»êÀ» ÇØ¾ß ÇÏ´Â °æ¿ì¿¡´Â(¿¹: Á¶Á÷¿¡ ´ë±Ô¸ð ÇÁ·Ï½Ã üÀÎÀÌ ÀÖ´Â °æ¿ì) ÆÄÀÏ¿¡ ¾×¼¼½ºÇÏ´Â »ç¿ëÀÚ¿¡ µû¶ó ´Ù¸¥ ÆÄÀÏÀ» Ãâ·ÂÇÏ´Â À¥ ¼¹ö CGI ÇÁ·Î±×·¥À» ¸¸µì´Ï´Ù.
- ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» °¢ ºê¶ó¿ìÀúÀÇ »çº»°ú ÇÔ²² ·ÎÄÿ¡ ÀúÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ÀÌ °æ¿ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®ÇÒ ¶§ ÆÄÀÏÀÇ º¹»çº»À» °¢ Ŭ¶óÀ̾ðÆ®·Î ¹èÆ÷ÇØ¾ß ÇÕ´Ï´Ù.
ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýÀº Server ManagerÀÇ ÆäÀÌÁö¸¦ »ç¿ëÇϰųª ÆÄÀÏÀ» Á÷Á¢ ¸¸µå´Â µÎ °¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýÀº ÀÌ ÀåÀÇ µÞºÎºÐ¿¡¼ ¼³¸íÇÕ´Ï´Ù.
ÀÌ ÀåÀº ´ÙÀ½ ³»¿ëÀ¸·Î ±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù.
ÀÚµ¿ ±¸¼º ÆÄÀÏ ÀÌÇØProxy Server °ü¸®Àڴ Ŭ¶óÀ̾ðÆ® ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µé¾î Ŭ¶óÀ̾ðÆ®¿¡ ¹èÆ÷ÇÒ °¡´É¼ºÀÌ Å©±â ¶§¹®¿¡ À̸¦ À§ÇØ ÀÌ ¼³¸í¼¿¡¼ ÀÚµ¿ ±¸¼º ÆÄÀÏ ±â´É¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
ÀÚµ¿ ±¸¼º ÆÄÀÏÀÇ ±â´É
ÀÚµ¿ ±¸¼º ÆÄÀÏÀº Ŭ¶óÀ̾ðÆ® ¹× ¼¹ö ÀÎÅÍ³Ý ÀÀ¿ë ÇÁ·Î±×·¥ °³¹ß¿ë °´Ã¼ ÁöÇâ ½ºÅ©¸³Æ® ¾ð¾îÀÎ JavaScript·Î ÀÛ¼ºµË´Ï´Ù. ºê¶ó¿ìÀú´Â JavaScript ÆÄÀÏÀ» Çؼ®ÇÕ´Ï´Ù.
ºê¶ó¿ìÀú´Â óÀ½ ·ÎµåµÉ ¶§ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÕ´Ï´Ù. ÆÄÀÏÀ» ÀúÀåÇÒ À§Ä¡´Â ºê¶ó¿ìÀú°¡ URLÀ» »ç¿ëÇÏ¿© °¡Á®¿Ã ¼ö ÀÖ´Â °÷ÀÌ¸é µË´Ï´Ù. ¿¹¸¦ µé¾î ÆÄÀÏÀ» À¥ ¼¹ö¿¡ µÑ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ ºê¶ó¿ìÀú°¡ file:// URLÀ» »ç¿ëÇÏ¿© °¡Á®¿Ã ¼ö ÀÖ´Ù¸é ³×Æ®¿öÅ© ÆÄÀÏ ½Ã½ºÅÛ¿¡ ÆÄÀÏÀ» ÀúÀåÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
ÇÁ·Ï½Ã ±¸¼º ÆÄÀÏÀº JavaScript·Î ÀÛ¼ºµË´Ï´Ù. JavaScript ÆÄÀÏÀº ºê¶ó¿ìÀú°¡ °¢ URL¿¡ ´ëÇØ »ç¿ëÇØ¾ß ÇÏ´Â ÇÁ·Ï½Ã ¼¹ö¸¦ °áÁ¤ÇÏ´Â ÇϳªÀÇ ÇÔ¼ö(FindProxyForURL)¸¦ Á¤ÀÇÇÕ´Ï´Ù. ºê¶ó¿ìÀú¿¡¼´Â ÀÌ JavaScript ÇÔ¼ö¿¡ µÎ °³ÀÇ ¸Å°³ º¯¼ö·Î ºê¶ó¿ìÀú°¡ ½ÇÇàµÇ´Â ½Ã½ºÅÛÀÇ È£½ºÆ® À̸§°ú ºê¶ó¿ìÀú°¡ ¾òÀ¸·Á´Â URLÀ» Àü¼ÛÇÕ´Ï´Ù. JavaScript ÇÔ¼ö´Â ºê¶ó¿ìÀú¿¡ °ªÀ» ¹ÝȯÇÏ¿© ÁøÇà ¹æ¹ýÀ» ¾Ë·ÁÁÝ´Ï´Ù.
ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» »ç¿ëÇÏ¸é ´Ù¾çÇÑ URL Çü½Ä, ´Ù¾çÇÑ ¼¹ö, ½ÉÁö¾î ´Ù¾çÇÑ ÇÏ·ç Áß ½Ã°£¿¡ ´ëÇؼ±îÁö ¼·Î ´Ù¸¥ ÇÁ·Ï½Ã¸¦ ÁöÁ¤Çϰųª ¶Ç´Â ÇÁ·Ï½Ã¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. Áï, ¿©·¯ ´ëÀÇ ÇÁ·Ï½Ã¸¦ ¿¹¸¦ µé¾î ÇÑ ¼¹ö´Â .com µµ¸ÞÀÎ, ´Ù¸¥ ¼¹ö´Â .edu µµ¸ÞÀÎ, ³ª¸ÓÁö ¼¹ö´Â ´Ù¸¥ µµ¸ÞÀÎ Àü¹® ¼¹ö·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ¿©·¯ ÇÁ·Ï½Ã°¡ ¸ðµÎ µ¿ÀÏÇÑ ¹®¼¸¦ ÀúÀåÇÏÁö ¾Ê°í ¸ðµç ÆÄÀÏÀÇ º¹»çº»ÀÌ Ä³½Ã¿¡ ÇÑ °³¸¸ ÀúÀåµÇ¹Ç·Î ·Îµå¸¦ ºÐ»êÇÒ ¼ö ÀÖ°í ÇÁ·Ï½ÃÀÇ µð½ºÅ©¸¦ ´õ È¿À²ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ ÀÚµ¿ ±¸¼º ÆÄÀÏÀº ÇÁ·Ï½Ã Àå¾Ö º¹±¸¸¦ Áö¿øÇϹǷΠÇÑ ÇÁ·Ï½Ã ¼¹ö¸¦ »ç¿ëÇÒ ¼ö ¾ø°Ô µÇ¸é ºê¶ó¿ìÀú´Â ´Ù¸¥ ÇÁ·Ï½Ã ¼¹ö·Î Åõ¸íÇÏ°Ô ÀüȯÇÕ´Ï´Ù.
ÇÁ·Ï½Ã¸¦ À¥ ¼¹ö·Î ¾×¼¼½º
ÇÁ·Ï½Ã ¼¹ö¿¡ Çϳª ÀÌ»óÀÇ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ÀúÀåÇÏ°í ÇÁ·Ï½Ã ¼¹ö°¡ ¹®¼¸¸ ÀÚµ¿ ±¸¼º ÆÄÀÏÀÎ À¥ ¼¹ö ¿ªÇÒÀ» Çϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÁ·Ï½Ã °ü¸®ÀÚ´Â ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¿© Á¶Á÷ ³»ÀÇ Å¬¶óÀ̾ðÆ®¿¡ ÇÊ¿äÇÑ ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» À¯Áö º¸¼öÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ Áß¾Ó À§Ä¡¿¡ ÆÄÀÏÀ» º¸°üÇϱ⠶§¹®¿¡ ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ®ÇÒ ¶§ ÇÑ ¹ø¸¸ ÇØÁÖ¸é ¸ðµç ºê¶ó¿ìÀú Ŭ¶óÀ̾ðÆ®°¡ ÀÚµ¿À¸·Î ÀÌ ¾÷µ¥ÀÌÆ®¸¦ Àû¿ëÇÕ´Ï´Ù.
ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏÀº server- root/proxy-serverid/pac/ µð·ºÅ丮¿¡ º¸°üÇÕ´Ï´Ù. ºê¶ó¿ìÀú¿¡¼ ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡ ´ëÇÑ URLÀ» ÀÔ·ÂÇÏ·Á¸é Proxies ÅÇ¿¡¼ ÆÄÀÏ¿¡ ´ëÇÑ URLÀ» ÀÔ·ÂÇÕ´Ï´Ù. ÇÁ·Ï½Ã¿¡ ´ëÇÑ URLÀÇ Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
http://proxy.domain:port/URI
¿¹¸¦ µé¾î URLÀº http://proxy.example.comÀÏ ¼ö ÀÖ½À´Ï´Ù. URI(URL¿¡¼ È£½ºÆ®:Æ÷Æ® Á¶ÇÕÀÇ µÚ¿¡ ³ª¿À´Â ºÎºÐ)´Â ÁöÁ¤ÇÒ ÇÊ¿ä ¾ø½À´Ï´Ù. URI¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÅÛÇø´À» »ç¿ëÇÏ¿© ´Ù¾çÇÑ ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡ ´ëÇÑ ¾×¼¼½º¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î /proxy.pacÀ̶ó´Â ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» Æ÷ÇÔÇÏ´Â /test¶ó´Â URI¸¦ ¸¸µç °æ¿ì http://proxy.mysite.com:8080/test/.* ¸®¼Ò½º ÆÐÅÏÀ¸·Î ÅÛÇø´À» ¸¸µé ¼ö ÀÖ½À´Ï´Ù. ±× ´ÙÀ½ ÀÌ ÅÛÇø´À» »ç¿ëÇÏ¿© ÇØ´ç µð·ºÅ丮¿¡ ƯÁ¤ÇÑ ¾×¼¼½º Á¦¾î¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¿©·¯ °³ÀÇ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µé¾î ¼·Î ´Ù¸¥ URLÀ» ÅëÇØ ¾×¼¼½ºÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ç¥ 17-1Àº URI¿Í Ŭ¶óÀ̾ðÆ®¿¡¼ ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡ ¾×¼¼½ºÇÏ´Â µ¥ »ç¿ëÇÏ´Â URLÀÇ ¿¹¸¦ º¸¿© ÁÝ´Ï´Ù.
¿ª¹æÇâ ÇÁ·Ï½Ã¿¡¼ Pac ÆÄÀÏ »ç¿ë
¿ª¹æÇâ ÇÁ·Ï½ÃÀÇ µ¿ÀÛ ¹æ½ÄÀ¸·Î ÀÎÇØ ÇÁ·Ï½Ã ¼¹ö°¡ ¿ª¹æÇâ ÇÁ·Ï½Ã ¿ªÇÒÀ» ÇÏ¸é¼ .pac ÆÄÀÏÀ» ¼ºñ½ºÇϱâ´Â ¸Å¿ì ¾î·Á¿ï ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â ÇÁ·Ï½Ã ¼¹ö°¡ ÆÄÀÏ¿¡ ´ëÇÑ ¿äûÀ» ¹Þ°í ÀÌ ¿äûÀÌ ·ÎÄà .pac ÆÄÀÏ¿¡ ´ëÇÑ °ÍÀÎÁö ¿ø°Ý ¹®¼¿¡ ´ëÇÑ °ÍÀÎÁö ÆÇ´ÜÇØ¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù.
ÇÁ·Ï½Ã ¼¹ö°¡ .pac ÆÄÀÏ À¯Áö º¸¼ö ¹× ¼ºñ½º¿¡ ´õÇÏ¿© ¿ª¹æÇâ ÇÁ·Ï½Ã ¿ªÇÒÀ» Çϵµ·Ï ¼³Á¤ÇÏ·Á¸é obj.conf ÆÄÀÏÀ» Á÷Á¢ ÆíÁýÇÏ¿© NameTrans ÇÔ¼öÀÇ ¼ø¼¸¦ ¿Ã¹Ù¸£°Ô ÇØ¾ß ÇÕ´Ï´Ù.
ÇÁ·Ï½Ã ¼¹ö°¡ ¿ª¹æÇâ ÇÁ·Ï½Ã ¿ªÇÒÀ» Çϵµ·Ï ÇÏ·Á¸é Á¤±Ô ¸ÅÇÎÀ» ¸¸µì´Ï´Ù. ÀÌ ¹æ¹ýÀº ÀϹÝÀûÀ¸·Î ÇÁ·Ï½Ã°¡ ¸ðµç ¿äûÀ» ¿ø°Ý ÄÁÅÙÆ® ¼¹ö·Î ¶ó¿ìÆÃÇϵµ·Ï ÇÕ´Ï´Ù. ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» /pac¿Í °°Àº ƯÁ¤ µð·ºÅ丮¿¡ Ãß°¡ÇÏ°í ¸ÅÇÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì .pac ÆÄÀÏÀ» °¡Á®¿À´Â ¸ðµç Ŭ¶óÀ̾ðÆ®´Â ´ÙÀ½°ú °°Àº URLÀ» »ç¿ëÇÏ°Ô µË´Ï´Ù.
http://proxy.mysite.com/pac
obj.conf ÆÄÀÏÀ» ÆíÁýÇÏ¿© ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡ ´ëÇÑ Áö½Ã¹®°ú ÇÔ¼ö°¡ ´Ù¸¥ ¸ÅÇο¡ ¾Õ¼ °¡Àå ¸ÕÀú Ç¥½ÃµÇµµ·Ï ÇÕ´Ï´Ù. ÇÁ·Ï½Ã ¼¹ö´Â º¸Åë ¿äûÀ» ¼ºñ½ºÇϱâ Àü¿¡ ¸ðµç NameTrans ÇÔ¼ö¸¦ ÅëÇÏ¿© ½ÇÇàµÇ¹Ç·Î ÀÌ Áö½Ã¹®°ú ÇÔ¼ö°¡ °¡Àå ¸ÕÀú ¿Í¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» »ç¿ëÇϸé ÇÁ·Ï½Ã´Â Áï½Ã °æ·Î¸¦ ÀνÄÇÏ°í .pac ÆÄÀÏÀ» ¹ÝȯÇÕ´Ï´Ù.
´ÙÀ½Àº ¿ª¹æÇâ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏ°í ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» À¯Áö º¸¼öÇÏ´Â obj.conf ÆÄÀÏÀÌ ÀÖ´Â °æ¿ìÀÇ ¿¹ÀÔ´Ï´Ù.
<Object name="default">
NameTrans from="file:" fn="map" to="ftp:"
NameTrans from="/pac" fn="pac-map" name="file" to="/ns-home/proxy/pac/proxy.pac"
NameTrans fn="redirect" from="http://foo.*" url="http://www.acme.com"
NameTrans from="/ns-icons" fn="pfx2dir" dir="/ns-home/ns-icons" name="file"
NameTrans fn="reverse-map" from="http://web.acme.com" to="http://proxy.acme.com:8080"
NameTrans fn="map" from="http://proxy.acme.com:8080" to="http://web.acme.com"
NameTrans fn="map" from="/" to="http://web.acme.com"
PathCheck fn="url-check"
Service fn="deny-service"
AddLog fn="flex-log" name="access"
AddLog fn="urldb-record"
</Object>
Server Manager ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ÀÚµ¿ ±¸¼º ÆÄÀÏ »ý¼ºServer Manager ÆäÀÌÁö¸¦ »ç¿ëÇÏ¿© ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» »ý¼ºÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇÕ´Ï´Ù.
- Server Manager¿¡ ¾×¼¼½ºÇÏ°í Routing ÅÇÀ» ¼±ÅÃÇÕ´Ï´Ù.
- Create / Edit Autoconfiguration File ¸µÅ©¸¦ ´©¸¨´Ï´Ù. ÇÁ·Ï½Ã ½Ã½ºÅÛ¿¡ ÀÖ´Â ¸ðµç ÀÚµ¿ ±¸¼º ÆÄÀÏÀÇ ¸ñ·ÏÀÌ ÀÖ´Â ÆäÀÌÁö°¡ Ç¥½ÃµË´Ï´Ù. ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» Ŭ¸¯Çϸé ÆíÁýÇÒ ¼ö ÀÖ½À´Ï´Ù. ³ª¸ÓÁö ´Ü°è´Â »õ ÆÄÀÏÀ» ¸¸µå´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
- URLÀÇ °æ·Î ºÎºÐÀÎ URI¸¦ ÀÔ·ÂÇϸé(¼±Åà »çÇ×) Ŭ¶óÀ̾ðÆ®°¡ ÇÁ·Ï½Ã¿¡¼ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» °¡Á®¿Ã ¶§ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ½½·¡½Ã(/)¸¦ ÀÔ·ÂÇϸé Ŭ¶óÀ̾ðÆ®°¡ ÇØ´ç ÆÄÀÏÀ» ÇÁ·Ï½ÃÀÇ ±âº» ¹®¼·Î ¾×¼¼½ºÇÕ´Ï´Ù(À¥ ¼¹öÀÇ index.html ÆÄÀÏ°ú À¯»ç). ÀÌ·¸°Ô Çϸé Ŭ¶óÀ̾ðÆ®´Â µµ¸ÞÀÎ À̸§¸¸ »ç¿ëÇÏ¿© ÀÌ ÀÚµ¿ ±¸¼º ÆÄÀÏ¿¡ ´ëÇÑ ÇÁ·Ï½Ã¿¡ ¾×¼¼½ºÇÕ´Ï´Ù. ¿©·¯ °³ÀÇ URI¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç °¢ URI¿¡ ´ëÇØ º°µµÀÇ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µé ¼ö ÀÖ½À´Ï´Ù.
- .pac È®ÀåÀÚ¸¦ »ç¿ëÇÏ´Â ÀÚµ¿ ±¸¼º ÆÄÀÏÀÇ À̸§À» ÀÔ·ÂÇÕ´Ï´Ù. ÆÄÀÏÀÌ ÇϳªÀÎ °æ¿ì¿¡´Â °£´ÜÈ÷ proxy.pacÀ̶ó´Â À̸§À» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù(pac: proxy autoconfigurationÀÇ ¾àÀÚ). ¸ðµç ÀÚµ¿ ±¸¼º ÆÄÀÏÀº ÇϳªÀÇ JavaScript ÇÔ¼ö°¡ ÀÖ´Â ASCII ÅؽºÆ® ÆÄÀÏÀÔ´Ï´Ù.
- OK¸¦ ´©¸¨´Ï´Ù. ´Ù¸¥ ÆäÀÌÁö°¡ Ç¥½ÃµË´Ï´Ù. ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µé·Á¸é ÀÌ ÆäÀÌÁö¸¦ »ç¿ëÇϽʽÿÀ. ÆäÀÌÁö¿¡ Ç¥½ÃµÇ´Â Ç׸ñÀÇ ¼ø¼´Â Ŭ¶óÀ̾ðÆ®¿¡ µû¶ó ´Þ¶óÁý´Ï´Ù. ÆäÀÌÁö¿¡ Ç¥½ÃµÇ´Â Ç׸ñÀº ´ÙÀ½°ú °°½À´Ï´Ù.
- Never Go Direct To Remote Server´Â Navigator°¡ Ç×»ó ÇÁ·Ï½Ã¸¦ »ç¿ëÇϵµ·Ï ÇÕ´Ï´Ù. ÇÁ·Ï½Ã ¼¹ö°¡ ½ÇÇà ÁßÀÌ ¾Æ´Ñ °æ¿ì¿¡ »ç¿ëÇÒ º¸Á¶ ÇÁ·Ï½Ã ¼¹ö¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
- Go Direct To Remote Server WhenÀº ƯÁ¤ÇÑ °æ¿ì ÇÁ·Ï½Ã ¼¹ö¸¦ ¿ìȸÇϵµ·Ï ÇÕ´Ï´Ù. Navigator´Â ÆäÀÌÁö¿¡ ³ª¿µÇ´Â ´ÙÀ½ ¿É¼Ç¿¡ µû¶ó ÀÌ·¯ÇÑ Æ¯Á¤ÇÑ °æ¿ì¸¦ °áÁ¤ÇÕ´Ï´Ù.
- Connecting To Non-fully Qualified Host Names´Â »ç¿ëÀÚ°¡ ÇØ´ç ÄÄÇ»ÅÍ À̸§¸¸ ÁöÁ¤ÇÑ °æ¿ì Navigator°¡ ¼¹ö·Î Á÷Á¢ À̵¿Çϵµ·Ï ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î winternal.mysite.comÀ̶ó´Â ³»ºÎ À¥ ¼¹ö°¡ ÀÖ´Â °æ¿ì »ç¿ëÀÚ´Â Á¤±ÔÈµÈ µµ¸ÞÀÎÀ» ÀÔ·ÂÇÏ´Â ´ë½Å http://winternal¸¸ ÀÔ·ÂÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì Navigator´Â ÇÁ·Ï½Ã¸¦ °ÅÄ¡Áö ¾Ê°í ÇØ´ç À¥ ¼¹ö·Î Á÷Á¢ À̵¿ÇÕ´Ï´Ù.
- Connecting To A Host In DomainÀº Navigator°¡ Á÷Á¢ ¾×¼¼½ºÇÒ ¼ö ÀÖ´Â µµ¸ÞÀÎ À̸§À» ÃÖ´ë 3°³±îÁö ÁöÁ¤ÇÕ´Ï´Ù. µµ¸ÞÀÎ À̸§À» ÁöÁ¤ÇÏ´Â °æ¿ì Á¡(.)À¸·Î ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î .example.com°ú °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù.
- Connecting To A Resolvable Host´Â Ŭ¶óÀ̾ðÆ®°¡ È£½ºÆ®¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Â °æ¿ì Navigator°¡ ÇØ´ç ¼¹ö·Î Á÷Á¢ À̵¿Çϵµ·Ï ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÀÌ ¿É¼ÇÀº DNS°¡ ·ÎÄÃ(³»ºÎ) È£½ºÆ®¸¸ È®ÀÎÇϵµ·Ï ¼³Á¤µÈ °æ¿ì »ç¿ëµË´Ï´Ù. Ŭ¶óÀ̾ðÆ®´Â ·ÎÄà ³×Æ®¿öÅ© ¿ÜºÎÀÇ ¼¹ö·Î ¿¬°áÇÏ´Â °æ¿ì¿¡´Â Proxy Server¸¦ »ç¿ëÇÏ°Ô µË´Ï´Ù.
- Connecting To A Host In SubnetÀº Ŭ¶óÀ̾ðÆ®°¡ ƯÁ¤ ¼ºê³Ý¿¡¼ ¼¹ö¿¡ ¾×¼¼½ºÇÏ´Â °æ¿ì Navigator°¡ ¼¹ö·Î Á÷Á¢ À̵¿Çϵµ·Ï ÇÕ´Ï´Ù. ÀÌ ¿É¼ÇÀº Áö¿ªÀûÀ¸·Î ¸¹Àº ¼ºê³ÝÀÌ ÀÖ´Â ±â¾÷¿¡°Ô À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î ÀϺΠ±â¾÷Àº Àü¼¼°è ƯÁ¤ Áö¿ª¿¡ ´ëÇÑ °¢ ¼ºê³Ý¿¡ ÇϳªÀÇ µµ¸ÞÀÎ À̸§À» Àû¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
- Except When Connecting To Hosts´Â ¼¹ö·Î Á÷Á¢ À̵¿ÇÏ´Â ±ÔÄ¢¿¡ ¿¹¿Ü¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î .example.comÀ» Á÷Á¢ À̵¿ÇÒ µµ¸ÞÀÎÀ¸·Î ÀÔ·ÂÇÑ °æ¿ì home.example.comÀº ¿¹¿Ü·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Çϸé Navigator´Â home.example.comÀ¸·Î À̵¿ÇÏ´Â °æ¿ì¿¡´Â ÇÁ·Ï½Ã¸¦ »ç¿ëÇϸç, ±× ¿Ü example.com µµ¸ÞÀο¡ ÀÖ´Â ¸ðµç ¼¹ö·Î´Â Á÷Á¢ À̵¿ÇÏ°Ô µË´Ï´Ù.
- Secondary Failover Proxy´Â ÇÁ·Ï½Ã ¼¹ö°¡ ½ÇÇà ÁßÀÌ ¾Æ´Ñ °æ¿ì¿¡ »ç¿ëÇÒ º¸Á¶ ÇÁ·Ï½Ã¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
- Failover Direct´Â ÇÁ·Ï½Ã ¼¹ö°¡ ½ÇÇà ÁßÀÌ ¾Æ´Ñ °æ¿ì Navigator°¡ ¼¹ö·Î Á÷Á¢ À̵¿Çϵµ·Ï ÇÕ´Ï´Ù. º¸Á¶ Àå¾Ö º¹±¸ ÇÁ·Ï½Ã¸¦ ÁöÁ¤Çϸé Navigator´Â ¼¹ö·Î Á÷Á¢ À̵¿Çϱâ Àü¿¡ ÀÌ º¸Á¶ Proxy Server¸¦ È®ÀÎÇÕ´Ï´Ù.
- OK¸¦ ´·¯ ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» »ý¼ºÇÕ´Ï´Ù. ÀÌ ÆÄÀÏÀº server-root/proxy-serverid/pac µð·ºÅ丮¿¡ ÀúÀåµË´Ï´Ù. ÆÄÀÏÀÌ ¿Ã¹Ù¸£°Ô ¸¸µé¾îÁ³´Ù´Â È®ÀÎ ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù. ÀÌ ´Ü°è¸¦ ¹Ýº¹ÇÏ¿© ÇÊ¿äÇÑ ¼ö ¸¸Å ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µì´Ï´Ù.
ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¸¸µç ´ÙÀ½¿¡´Â ¸ðµç ÇÁ·Ï½Ã ¼¹ö »ç¿ëÀڵ鿡°Ô ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» ¿Ã¹Ù¸£°Ô °¡¸®Å°µµ·Ï Çϰųª ¶Ç´Â Á÷Á¢ Navigator »çº»À» ±¸¼ºÇϽʽÿÀ.
ÀÚµ¿ ±¸¼º ÆÄÀÏ Á÷Á¢ ¸¸µé±âÀÌ Àý¿¡¼´Â ÀÚµ¿ ±¸¼º ÆÄÀÏÀ» Á÷Á¢ ¸¸µå´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
ÇÁ·Ï½Ã ÀÚµ¿ ±¸¼º ÆÄÀÏÀº Ŭ¶óÀ̾ðÆ®Ãø JavaScript¸¦ »ç¿ëÇÏ¿© ÀÛ¼ºµË´Ï´Ù. °¢ ÆÄÀÏÀº FindProxyForURLÀ̶ó´Â ÇϳªÀÇ JavaScript ÇÔ¼ö¸¦ Æ÷ÇÔÇÏ°í ÀÖÀ¸¸ç ÀÌ ÇÔ¼ö´Â ºê¶ó¿ìÀú°¡ °¢ URL¿¡ ´ëÇØ »ç¿ëÇØ¾ß ÇÏ´Â ÇÁ·Ï½Ã ¼¹ö¸¦ °áÁ¤ÇÕ´Ï´Ù. ºê¶ó¿ìÀú¿¡¼´Â ÀÌ JavaScript ÇÔ¼ö¿¡ µÎ °³ÀÇ ¸Å°³ º¯¼ö·Î ´ë»ó ¿øº» ¼¹öÀÇ È£½ºÆ® À̸§°ú ºê¶ó¿ìÀú°¡ ¾òÀ¸·Á´Â URLÀ» Àü¼ÛÇÕ´Ï´Ù. JavaScript ÇÔ¼ö´Â Navigator¿¡ °ªÀ» ¹ÝȯÇÏ¿© ÁøÇà ¹æ¹ýÀ» ¾Ë·ÁÁÝ´Ï´Ù. ´ÙÀ½ Àý¿¡¼´Â ÇÔ¼ö ±¸¹®°ú °¡´ÉÇÑ ¹Ýȯ °ª¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
FindProxyForURL ÇÔ¼ö
FindProxyFor URL ÇÔ¼öÀÇ ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
function FindProxyForURL(url, host)
{
...
}ºê¶ó¿ìÀú´Â ¾×¼¼½ºÇÏ´Â ¸ðµç URL¿¡ ´ëÇØ url°ú host ¸Å°³ º¯¼ö¸¦ Àü¼ÛÇÏ°í ´ÙÀ½ ¹æ¹ýÀ¸·Î ÇÔ¼ö¸¦ È£ÃâÇÕ´Ï´Ù.
ret = FindProxyForURL(url, host);
urlÀº ºê¶ó¿ìÀú°¡ ¾×¼¼½ºÇÏ´Â Àüü URLÀÔ´Ï´Ù.
host´Â ¾×¼¼½ºµÇ´Â URL¿¡¼ ÃßÃâÇÑ È£½ºÆ® À̸§ÀÔ´Ï´Ù. È£½ºÆ® À̸§Àº ´ÜÁö ÆíÀǸ¦ À§ÇÑ °ÍÀ¸·Î, :// ¿Í ù : »çÀÌÀÇ ¹®ÀÚ¿ ¶Ç´Â ://¿Í / »çÀÌÀÇ ¹®ÀÚ¿°ú °°½À´Ï´Ù. Æ÷Æ® ¹øÈ£´Â ÀÌ ¸Å°³ º¯¼ö¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù. ÇÊ¿äÇÑ °æ¿ì URL¿¡¼ ÃßÃâÇÒ ¼ö ÀÖ½À´Ï´Ù.
ret(¹Ýȯ °ª)´Â ±¸¼ºÀ» ¼³¸íÇÏ´Â ¹®ÀÚ¿ÀÔ´Ï´Ù.
ÇÔ¼ö ¹Ýȯ °ª
ÀÚµ¿ ±¸¼º ÆÄÀÏÀº FindProxyForURL ÇÔ¼ö¸¦ Æ÷ÇÔÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â Ŭ¶óÀ̾ðÆ® È£½ºÆ® À̸§°ú ÇØ´ç Ŭ¶óÀ̾ðÆ®°¡ ¾×¼¼½ºÇÏ´Â URLÀ» ¸Å°³ º¯¼ö·Î »ç¿ëÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ºê¶ó¿ìÀú¿¡ ÁøÇà ¹æ¹ýÀ» ¾Ë·ÁÁÖ´Â ÇϳªÀÇ ¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù. ¹®ÀÚ¿ÀÌ NullÀÎ °æ¿ì ÇÁ·Ï½Ã°¡ »ç¿ëµÇÁö ¾Ê½À´Ï´Ù. ¹®ÀÚ¿Àº Ç¥ 17-2¿¡ Ç¥½ÃµÈ ±¸¼º ¿ä¼Ò¸¦ ¼ö¿¡ Á¦ÇÑ ¾øÀÌ ¼¼¹ÌÄÝ·ÐÀ¸·Î ºÐ¸®ÇÏ¿© Æ÷ÇÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
ºê¶ó¿ìÀú´Â »ç¿ëÇÒ ¼ö ¾ø´Â ÇÁ·Ï½Ã ¼¹ö¸¦ ¸¸³ª¸é ÀÀ´äÇÏÁö ¾ÊÀº ÀÌÀü ÇÁ·Ï½Ã¸¦ 30ºÐ ÈÄ¿¡ ÀÚµ¿À¸·Î ´Ù½Ã ½ÃµµÇÏ°í ÀÌÈÄ 30ºÐ °£°ÝÀ¸·Î °è¼Ó ½ÃµµÇÕ´Ï´Ù. µû¶ó¼ ÇÁ·Ï½Ã ¼¹ö¸¦ Àӽ÷ΠÁ¾·áÇÑ °æ¿ì Ŭ¶óÀ̾ðÆ®´Â ÇÁ·Ï½Ã°¡ Àç½ÃÀÛµÈ ÀÌÈÄ 30ºÐ ³»¿¡ ÇÁ·Ï½Ã »ç¿ëÀ» Àç°³ÇÏ°Ô µË´Ï´Ù.
¸ðµç ÇÁ·Ï½Ã°¡ ´Ù¿îµÈ »óÅ°í DIRECT ¹Ýȯ °ªÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ºê¶ó¿ìÀú´Â »ç¿ëÀÚ¿¡°Ô Àӽ÷ΠÇÁ·Ï½Ã¸¦ ¹«½ÃÇÏ°í Á÷Á¢ ¿¬°áÀ» ½ÃµµÇÒ °ÍÀÎÁö ¹¯½À´Ï´Ù. Navigator´Â 20ºÐ ÈÄ¿¡ ÇÁ·Ï½Ã¸¦ Àç½ÃµµÇÒ °ÍÀÎÁö ¹°À¸¸ç, ÀÌÈÄ 20ºÐ °£°ÝÀ¸·Î °è¼ÓÇؼ ¹¯½À´Ï´Ù.
´ÙÀ½ ¿¹¿¡¼ ¹Ýȯ °ªÀº ºê¶ó¿ìÀú¿¡°Ô 8080 Æ÷Æ®ÀÇ w3proxy.example.comÀ̶ó´Â ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏ°í, ÀÌ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì 8080 Æ÷Æ®ÀÇ proxy1.example.comÀ̶ó´Â ÇÁ·Ï½Ã¸¦ »ç¿ëÇ϶ó°í ¾Ë¸³´Ï´Ù.
PROXY w3proxy.example.com:8080; PROXY proxy1.example.com:8080
´ÙÀ½ ¿¹¿¡¼ ±âº» ÇÁ·Ï½Ã´Â w3proxy.example.com:8080À̸ç, ÀÌ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì ºê¶ó¿ìÀú´Â proxy1.example.com:8080À» »ç¿ëÇÕ´Ï´Ù. µÎ ÇÁ·Ï½Ã ¸ðµÎ »ç¿ëÇÒ ¼ö ¾ø´Â °æ¿ì ºê¶ó¿ìÀú´Â ¼¹ö·Î Á÷Á¢ À̵¿Çϸç 20ºÐ ÈÄ ºê¶ó¿ìÀú´Â »ç¿ëÀÚ¿¡°Ô ù ¹ø° ÇÁ·Ï½Ã¸¦ ´Ù½Ã ½ÃµµÇÒÁö ¹¯½À´Ï´Ù.
PROXY w3proxy.example.com:8080; PROXY proxy1.example.com:8080; DIRECT
JavaScript ÇÔ¼ö ¹× ȯ°æ
JavaScript¿¡´Â ÇÁ·Ï½Ã¿¡¼ À¯¿ëÇÑ ¿©·¯ °¡ÁöÀÇ ¹Ì¸® Á¤ÀÇµÈ ÇÔ¼ö¿Í ȯ°æ Á¶°ÇÀÌ ÀÖ½À´Ï´Ù. °¢ ÇÔ¼ö´Â ƯÁ¤ Á¶°ÇÀÌ ÃæÁ·µÇ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇÏ°í true ¹× false °ªÀ» ¹ÝȯÇÕ´Ï´Ù. °ü·ÃµÈ À¯Æ¿¸®Æ¼ ÇÔ¼ö´Â DNS È£½ºÆ® À̸§ ¶Ç´Â IP ÁÖ¼Ò¸¦ ¹ÝȯÇϱ⠶§¹®¿¡ ¿¹¿ÜÀÔ´Ï´Ù. ±âº» FindProxyForURL ÇÔ¼ö¿¡¼ ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ºê¶ó¿ìÀú·Î Àü¼ÛÇÒ ¹Ýȯ °ªÀ» °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ÀÌ ÀåÀÇ µÞºÎºÐ¿¡ ³ª¿À´Â ¿¹¸¦ ÂüÁ¶ÇϽʽÿÀ.
°¢ ÇÔ¼ö ¶Ç´Â ȯ°æ Á¶°ÇÀº ÀÌ Àý¿¡ ¼³¸íµÇ¾î ÀÖ½À´Ï´Ù. ÇÁ·Ï½Ã¿Í ºê¶ó¿ìÀú ÅëÇÕ¿¡ Àû¿ëµÇ´Â ÇÔ¼ö ¹× ȯ°æ Á¶°ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù.
È£½ºÆ® À̸§ ±â¹Ý ÇÔ¼ö
°ü·Ã À¯Æ¿¸®Æ¼ ÇÔ¼ö:
URL/È£½ºÆ® À̸§ ±â¹Ý Á¶°Ç
½Ã°£ ±â¹Ý Á¶°Ç
È£½ºÆ® À̸§ ±â¹Ý ÇÔ¼ö
È£½ºÆ® À̸§ ±â¹Ý ÇÔ¼ö¸¦ ÅëÇØ È£½ºÆ® À̸§ ¶Ç´Â IP ÁÖ¼Ò¸¦ ÀÌ¿ëÇÏ¿© »ç¿ëÇÒ ÇÁ·Ï½Ã¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
dnsDomainIs(host, domain)
dnsDomainIs() ÇÔ¼ö´Â URL È£½ºÆ® À̸§ÀÌ ÁöÁ¤µÈ DNS µµ¸ÞÀο¡ ¼ÓÇÏ´ÂÁö ¿©ºÎ¸¦ °¨ÁöÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¿¹Á¦ 1: ·ÎÄà ȣ½ºÆ®¸¦ Á¦¿ÜÇÑ ¸ðµç ¼¹ö ÇÁ·Ï½Ã ¹× ¿¹Á¦ 2: ¹æȺ® ¿ÜºÎÀÇ ·ÎÄà ¼¹ö ÇÁ·Ï½Ã¿¡¼ ¼³¸íÇÑ ´ë·Î ·ÎÄà µµ¸ÞÀο¡ ´ëÇؼ´Â ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏÁö ¾Êµµ·Ï ºê¶ó¿ìÀú¸¦ ±¸¼ºÇÏ´Â °æ¿ì À¯¿ëÇÕ´Ï´Ù.
ÀÌ ÇÔ¼ö´Â ¶ÇÇÑ ¿äûÀ» ¼ö½ÅÇÏ´Â ÇÁ·Ï½Ã°¡ URLÀÌ ¼ÓÇÑ DNS µµ¸ÞÀÎÀ» ±â¹ÝÀ¸·Î ÇÁ·Ï½Ã ±×·ì¿¡¼ ¼±ÅõǴ »óȲ¿¡¼ ·Îµå ¹ë·±½ÌÀ» À§ÇØ ¿©·¯ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏ´Â °æ¿ì¿¡µµ À¯¿ëÇÕ´Ï´Ù. ¿¹¸¦ µé¾î .edu°¡ Æ÷ÇÔµÈ URLÀ» ÇÑ ÇÁ·Ï½Ã¿¡, .comÀÌ Æ÷ÇÔµÈ URLÀ» ´Ù¸¥ ÇÁ·Ï½Ã¿¡ ÁöÁ¤ÇÏ¿© ·Îµå ¹ë·±½ÌÇÏ´Â °æ¿ì dnsDomainIs()¸¦ »ç¿ëÇÏ¿© URL È£½ºÆ® À̸§À» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸Å°³ º¯¼ö:
host´Â URLÀÇ È£½ºÆ® À̸§ÀÔ´Ï´Ù.
domainÀº È£½ºÆ® À̸§À» ½ÃÇèÇÒ ´ë»ó µµ¸ÞÀÎ À̸§ÀÔ´Ï´Ù.
¹Ýȯ:
true ¶Ç´Â false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½ ¹®Àº trueÀÔ´Ï´Ù.
dnsDomainIs("www.example.com", ".example.com")
´ÙÀ½ ¹®Àº falseÀÔ´Ï´Ù.
dnsDomainIs("www", ".example.com")
dnsDomainIs("www.mcom.com", ".example.com")isInNet(host, pattern, mask)
isInNet() ÇÔ¼ö¸¦ ÅëÇØ URL È£½ºÆ® À̸§À» IP ÁÖ¼Ò·Î º¯È¯ÇÏ°í ÀÌ ÁÖ¼Ò°¡ ¸¶½ºÅ©¿¡¼ ÁöÁ¤ÇÑ ¼ºê³Ý¿¡ ¼ÓÇÏ´ÂÁö ½ÃÇèÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ´Â SOCKS¿¡¼ »ç¿ëÇÏ´Â IP ÁÖ¼Ò ÆÐÅÏ ÀÏÄ¡¿Í °°Àº À¯ÇüÀÔ´Ï´Ù. ¿¹Á¦ 4: ¼ºê³ÝÀ¸·Î Á÷Á¢ ¿¬°áÀ» ÂüÁ¶ÇϽʽÿÀ.
¸Å°³ º¯¼ö:
host´Â DNS È£½ºÆ® À̸§ ¶Ç´Â IP ÁÖ¼ÒÀÔ´Ï´Ù. È£½ºÆ® À̸§ÀÌ Àü´ÞµÇ¸é ÀÌ ÇÔ¼ö´Â È£½ºÆ® À̸§À» IP ÁÖ¼Ò·Î º¯È¯ÇÕ´Ï´Ù.
patternÀº Á¡À¸·Î ºÐ¸®µÈ Çü½ÄÀÇ IP ÁÖ¼Ò ÆÐÅÏÀÔ´Ï´Ù.
mask´Â IP ÁÖ¼Ò¿¡¼ ÀÏÄ¡½ÃÄÑ¾ß ÇÏ´Â ºÎºÐÀ» °áÁ¤ÇÏ´Â IP ÁÖ¼Ò ÆÐÅÏ ¸¶½ºÅ©ÀÔ´Ï´Ù. °ªÀÌ 0ÀÌ¸é ¹«½Ã, 255À̸é ÀÏÄ¡¸¦ ÀǹÌÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â È£½ºÆ®ÀÇ IP ÁÖ¼Ò°¡ ÁöÁ¤µÈ IP ÁÖ¼Ò ÆÐÅÏ°ú ÀÏÄ¡Çϸé trueÀÔ´Ï´Ù.
¹Ýȯ:
true ¶Ç´Â false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌ ¹®Àº È£½ºÆ®ÀÇ IP ÁÖ¼Ò°¡ Á¤È®È÷ 198.95.249.79¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡¸¸ trueÀÔ´Ï´Ù.
isInNet(host, "198.95.249.79", "255.255.255.255")ÀÌ ¹®Àº È£½ºÆ®ÀÇ IP ÁÖ¼Ò°¡ 198.95.*.*¿Í ÀÏÄ¡ÇÏ´Â °æ¿ì¿¡¸¸ trueÀÔ´Ï´Ù.
isInNet(host, "198.95.0.0", "255.255.0.0")isPlainhost name(host)
isPlainhost name() ÇÔ¼ö´Â ¿äûµÈ URLÀÇ È£½ºÆ® À̸§ÀÌ ´Ü¼øÇÑ È£½ºÆ® À̸§ÀÎÁö ¶Ç´Â Á¤±ÔÈµÈ µµ¸ÞÀÎ À̸§ÀÎÁö °¨ÁöÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ¿¹Á¦ 1: ·ÎÄà ȣ½ºÆ®¸¦ Á¦¿ÜÇÑ ¸ðµç ¼¹ö ÇÁ·Ï½Ã ¹× ¿¹Á¦ 2: ¹æȺ® ¿ÜºÎÀÇ ·ÎÄà ¼¹ö ÇÁ·Ï½Ã¿¡¼ ¼³¸íÇÑ ´ë·Î Netscape Navigator°¡ ·ÎÄà ¼¹ö¿¡ Á÷Á¢ ¿¬°áÇϵµ·Ï ÇÏ·Á´Â °æ¿ì À¯¿ëÇÕ´Ï´Ù.
¸Å°³ º¯¼ö:
host´Â È£½ºÆ® À̸§¿¡ µµ¸ÞÀÎ À̸§ÀÌ ¾ø´Â °æ¿ì¿¡¸¸(Á¡À¸·Î ºÐ¸®µÈ ±¸È¹ÀÌ ¾øÀ½) URLÀÇ È£½ºÆ® À̸§(Æ÷Æ® ¹øÈ£ Á¦¿Ü)ÀÔ´Ï´Ù.
¹Ýȯ:
host°¡ ·ÎÄÃÀÎ °æ¿ì true, host°¡ ¿ø°ÝÀÎ °æ¿ì false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
isPlainhost name("host")
host°¡ www¿Í °°Àº ÇüŸé true¸¦, È£½ºÆ®°¡ www.example.com°ú °°Àº ÇüŸé false¸¦ ¹ÝȯÇÕ´Ï´Ù.
isResolvable(host)
¹æȺ® ³»ÀÇ DNS°¡ ³»ºÎ È£½ºÆ®¸¸ ÀνÄÇÒ °æ¿ì isResolvable() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© È£½ºÆ® À̸§ÀÌ ³×Æ®¿öÅ© ³»ºÎÀÎÁö ¿ÜºÎÀÎÁö ½ÃÇèÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ºê¶ó¿ìÀú°¡ ³»ºÎ ¼¹ö¿¡ ´ëÇؼ´Â Á÷Á¢ ¿¬°áÀ» »ç¿ëÇÏ°í ¿ÜºÎ ¼¹ö¿¡ ´ëÇؼ¸¸ ÇÁ·Ï½Ã¸¦ »ç¿ëÇϵµ·Ï ±¸¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹æȺ® ³»ÀÇ ³»ºÎ È£½ºÆ®°¡ ´Ù¸¥ ³»ºÎ È£½ºÆ®ÀÇ DNS µµ¸ÞÀÎ À̸§Àº º¯È¯ÇÒ ¼ö ÀÖÁö¸¸ ¿ÜºÎ È£½ºÆ®´Â ¸ðµÎ º¯È¯ÇÒ ¼ö ¾ø´Â »çÀÌÆ®¿¡¼ ÀÌ ÇÔ¼ö°¡ À¯¿ëÇÕ´Ï´Ù. isResolvable() ÇÔ¼ö´Â È£½ºÆ® À̸§À» IP ÁÖ¼Ò·Î º¯È¯Çϱâ À§ÇØ ½ÃµµÇÏ¸é¼ DNS¸¦ ÂüÁ¶ÇÕ´Ï´Ù. ¿¹Á¦ 3: º¯È¯µÇÁö ¾ÊÀº È£½ºÆ®¸¸ ÇÁ·Ï½Ã¸¦ ÂüÁ¶ÇϽʽÿÀ.
¸Å°³ º¯¼ö:
host´Â URLÀÇ È£½ºÆ® À̸§ÀÔ´Ï´Ù. È£½ºÆ® À̸§ º¯È¯À» ½ÃµµÇÏ¸ç ¼º°øÇÏ´Â °æ¿ì true¸¦ ¹ÝȯÇÕ´Ï´Ù.
¹Ýȯ:
È£½ºÆ® À̸§À» º¯È¯ÇÒ ¼ö ÀÖÀ¸¸é true, º¯È¯ÇÒ ¼ö ¾øÀ¸¸é false¸¦ ¹ÝȯÇÕ´Ï´Ù.
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
isResolvable("host")
host°¡ www¿Í °°Àº ÇüÅ°í DNS¸¦ ÅëÇØ º¯È¯ÇÒ ¼ö ÀÖÀ¸¸é ÀÌ ÇÔ¼ö´Â true¸¦ ¹ÝȯÇÕ´Ï´Ù.
localHostOrDomainIs(host, hostdom)
localHostOrDomainIs() ÇÔ¼ö´Â Á¤±ÔÈµÈ µµ¸ÞÀÎ À̸§ ¶Ç´Â ´Ü¼øÇÑ È£½ºÆ® À̸§À¸·Î ¾×¼¼½ºµÇ´Â ·ÎÄà ȣ½ºÆ®¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ¿¹Á¦ 2: ¹æȺ® ¿ÜºÎÀÇ ·ÎÄà ¼¹ö ÇÁ·Ï½Ã¸¦ ÂüÁ¶ÇϽʽÿÀ.
localHostOrDomainIs() ÇÔ¼ö´Â È£½ºÆ® À̸§ÀÌ ÁöÁ¤µÈ È£½ºÆ® À̸§°ú Á¤È®È÷ ÀÏÄ¡Çϰųª ¶Ç´Â È£½ºÆ® À̸§¿¡ Á¤±ÔȵÇÁö ¾ÊÀº È£½ºÆ® À̸§°ú ÀÏÄ¡ÇÏ´Â µµ¸ÞÀÎ À̸§ ºÎºÐÀÌ ¾ø´Â °æ¿ì true¸¦ ¹ÝȯÇÕ´Ï´Ù.
¸Å°³ º¯¼ö:
host´Â URLÀÇ È£½ºÆ® À̸§ÀÔ´Ï´Ù.
hostdomÀº ÀÏÄ¡½Ãų Á¤±ÔÈµÈ È£½ºÆ® À̸§ÀÔ´Ï´Ù.
¹Ýȯ:
true ¶Ç´Â false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½ ¹®Àº trueÀÔ´Ï´Ù(Á¤È®È÷ ÀÏÄ¡).
localHostOrDomainIs("www.example.com", "www.example.com")
´ÙÀ½ ¹®Àº trueÀÔ´Ï´Ù(È£½ºÆ® À̸§ ÀÏÄ¡, µµ¸ÞÀÎ À̸§ ÁöÁ¤µÇÁö ¾ÊÀ½).
localHostOrDomainIs("www", "www.example.com")
´ÙÀ½ ¹®Àº falseÀÔ´Ï´Ù(µµ¸ÞÀÎ À̸§ ºÒÀÏÄ¡).
localHostOrDomainIs("www.mcom.com", "www.example.com")
´ÙÀ½ ¹®Àº falseÀÔ´Ï´Ù(È£½ºÆ® À̸§ ºÒÀÏÄ¡).
localHostOrDomainIs("home.example.com", "www.example.com")
°ü·Ã À¯Æ¿¸®Æ¼ ÇÔ¼ö
°ü·Ã À¯Æ¿¸®Æ¼ ÇÔ¼ö¸¦ ÅëÇØ µµ¸ÞÀÎ ´Ü°è, Netscape Navigator°¡ ½ÇÇàµÇ´Â È£½ºÆ® ¶Ç´Â È£½ºÆ®ÀÇ IP ÁÖ¼Ò¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.
dnsDomainLevels(host)
dnsDomainLevels() ÇÔ¼ö´Â URL È£½ºÆ® À̸§¿¡¼ DNS ´Ü°èÀÇ ¼ö(Á¡ÀÇ ¼ö)¸¦ È®ÀÎÇÕ´Ï´Ù.
¸Å°³ º¯¼ö:
host´Â URLÀÇ È£½ºÆ® À̸§ÀÔ´Ï´Ù.
¹Ýȯ:
DNS µµ¸ÞÀÎ ´Ü°èÀÇ ¼ö(Á¤¼ö)
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
dnsDomainLevels("www")
0À» ¹ÝȯÇÕ´Ï´Ù.
dnsDomainLevels("www.example.com")
2¸¦ ¹ÝȯÇÕ´Ï´Ù.
dnsResolve(host)
dnsResolve() ÇÔ¼ö´Â ÁöÁ¤µÈ È£½ºÆ®(º¸Åë URL¿¡ ÀÖÀ½)¸¦ IP ÁÖ¼Ò·Î º¯È¯ÇÕ´Ï´Ù. JavaScript ÇÔ¼ö°¡ ±âÁ¸ ÇÔ¼ö·Î ¼öÇàÇÒ ¼ö ÀÖ´Â °Íº¸´Ù ´õ °í±ÞÀÇ ÆÐÅÏ ÀÏÄ¡¸¦ ¼öÇàÇØ¾ß ÇÏ´Â °æ¿ì ÀÌ ÇÔ¼ö°¡ À¯¿ëÇÕ´Ï´Ù.
¸Å°³ º¯¼ö:
host´Â º¯È¯ÇÒ È£½ºÆ® À̸§ÀÔ´Ï´Ù. ÁöÁ¤µÈ DNS È£½ºÆ® À̸§À» IP ÁÖ¼Ò·Î º¯È¯ÇÏ°í Á¡À¸·Î ºÐ¸®µÈ ¹®ÀÚ¿·Î ¹ÝȯÇÕ´Ï´Ù.
¹Ýȯ:
Á¡À¸·Î 4ºÎºÐÀ¸·Î ºÐ¸®µÈ IP ÁÖ¼ÒÀÇ ¹®ÀÚ¿ °ª
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½ ¿¹´Â 198.95.249.79 ¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù.
dnsResolve("home.example.com")
myIpAddress()
myIpAddress() ÇÔ¼ö´Â ºê¶ó¿ìÀú°¡ ½ÇÇàµÇ´Â È£½ºÆ®¿¡ µû¶ó JavaScript ÇÔ¼ö°¡ ´Ù¸£°Ô ÀÛµ¿ÇØ¾ß ÇÏ´Â °æ¿ì À¯¿ëÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ºê¶ó¿ìÀú¸¦ ½ÇÇà ÁßÀÎ ÄÄÇ»ÅÍÀÇ IP ÁÖ¼Ò¸¦ ¹ÝȯÇÕ´Ï´Ù.
¹Ýȯ:
Á¡À¸·Î 4ºÎºÐÀ¸·Î ºÐ¸®µÈ IP ÁÖ¼ÒÀÇ ¹®ÀÚ¿ °ª
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
Navigator¸¦ home.example.com ÄÄÇ»ÅÍ¿¡¼ ½ÇÇà ÁßÀÎ °æ¿ì ´ÙÀ½ ¿¹´Â 198.95.249.79 ¹®ÀÚ¿À» ¹ÝȯÇÕ´Ï´Ù.
myIpAddress()
URL/È£½ºÆ® À̸§ ±â¹Ý Á¶°Ç
·Îµå ¹ë·±½Ì ¹× ¶ó¿ìÆÃÀ» À§ÇØ È£½ºÆ® À̸§ ¶Ç´Â URLÀ» ÀÏÄ¡½Ãų ¼ö ÀÖ½À´Ï´Ù.
shExpMatch(str, shexp)
shExpMatch() ÇÔ¼ö´Â URL È£½ºÆ® À̸§ ¶Ç´Â URL ÀÚü¸¦ ÀÏÄ¡½Ãŵ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ÁÖ·Î ·Îµå ¹ë·±½Ì ¹× URLÀ» ¿©·¯ ÇÁ·Ï½Ã ¼¹ö·Î Áö´ÉÀûÀ¸·Î ¶ó¿ìÆÃÇÏ´Â µ¥ »ç¿ëµË´Ï´Ù.
¸Å°³ º¯¼ö:
strÀº ºñ±³ÇÒ ¹®ÀÚ¿ÀÔ´Ï´Ù(¿¹: URL ¶Ç´Â È£½ºÆ® À̸§).
shexp´Â ºñ±³ ´ë»óÀÎ ½© Ç¥Çö½ÄÀÔ´Ï´Ù.
¹®ÀÚ¿ÀÌ ÁöÁ¤µÈ ½© Ç¥Çö½Ä°ú ÀÏÄ¡Çϸé ÀÌ Ç¥Çö½ÄÀº trueÀÔ´Ï´Ù. ¿¹Á¦ 6: shExpMatch()¸¦ »ç¿ëÇÑ ÇÁ·Ï½Ã ·Îµå ¹ë·±½ÌÀ» ÂüÁ¶ÇϽʽÿÀ.
¹Ýȯ:
true ¶Ç´Â false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ù ¹ø° ¿¹´Â true¸¦, µÎ ¹ø° ¿¹´Â false¸¦ ¹ÝȯÇÕ´Ï´Ù.
shExpMatch("http://home.example.com/people/index.html",
".*/people/.*")shExpMatch("http://home.example.com/people/yourpage/index.html",
".*/mypage/.*")½Ã°£ ±â¹Ý Á¶°Ç
FindProxyForURL ÇÔ¼ö°¡ ³¯Â¥, ½Ã°£, ÁÖÁß ¿äÀÏ¿¡ µû¶ó ´Ù¸£°Ô ÀÛµ¿Çϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
dateRange(³â, ¿ù, ÀÏ...)
dateRange() ÇÔ¼ö´Â ƯÁ¤ ³¯Â¥³ª ³¯Â¥ ¹üÀ§¸¦ °¨ÁöÇÒ ¼ö ÀÖ½À´Ï´Ù(¿¹: 1996³â 4¿ù 19ÀϺÎÅÍ 1996³â 5¿ù 3ÀÏ). ÀÌ ÇÔ¼ö´Â ÇÁ·Ï½Ã¿¡ À¯Áö º¸¼ö¸¦ À§ÇÑ ´Ù¿î ½Ã°£ÀÌ Á¤±âÀûÀ¸·Î ¿¹¾àµÇ¾î ÀÖ´Â °æ¿ì µî
FindProxyForURL ÇÔ¼ö°¡ ³¯Â¥¿¡ µû¶ó ´Ù¸£°Ô ÀÛµ¿Çϵµ·Ï ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.³¯Â¥ ¹üÀ§´Â ´ÙÀ½°ú °°ÀÌ ¿©·¯ °¡Áö ¹æ¹ýÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
dateRange(day)
dateRange(day1, day2)
dateRange(mon)
dateRange(month1, month2)
dateRange(year)
dateRange(year1, year2)
dateRange(day1, month1, day2, month2)
dateRange(month1, year1, month2, year2)
dateRange(day1, month1, year1, day2, month2, year2)
dateRange(day1, month1, year1, day2, month2, year2, gmt)¸Å°³ º¯¼ö:
day´Â ¿ùÀÇ ÀÏÀÚ¿¡ ´ëÇÑ 1ºÎÅÍ 31±îÁöÀÇ Á¤¼öÀÔ´Ï´Ù.
month´Â ´ÙÀ½ ¿ù ¹®ÀÚ¿ Áß ÇϳªÀÔ´Ï´Ù.
JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DECyear´Â ¿¬µµ¿¡ ´ëÇÑ 4ÀÚ¸´¼ö Á¤¼öÀÔ´Ï´Ù(¿¹: 1996).
gmt´Â ±×¸®´ÏÄ¡ Ç¥Áؽ÷Π½Ã°£À» ºñ±³Çϵµ·Ï ÇÏ´Â GMT ¹®ÀÚ¿ ¶Ç´Â ºóÄÀ̸ç ÀÌ °æ¿ì ·ÎÄà ½Ã°£´ë¿¡ ÀÖ´Â °ÍÀ¸·Î °¡Á¤ÇÕ´Ï´Ù. GMT ¸Å°³ º¯¼ö´Â ¸ðµç È£Ãâ ÇÁ·ÎÆÄÀÏ¿¡¼ Ç×»ó ¸¶Áö¸· ¸Å°³ º¯¼ö·Î ÁöÁ¤µÉ ¼ö ÀÖ½À´Ï´Ù. ÇϳªÀÇ °ª¸¸ ÁöÁ¤µÈ °æ¿ì(°¢ ³â, ¿ù, ÀÏ ¹üÁÖ¿¡¼) ÇÔ¼ö´Â ÁöÁ¤ÇÑ Ç׸ñ°ú ÀÏÄ¡ÇÏ´Â ³¯Â¥¿¡¸¸ true¸¦ ¹ÝȯÇÕ´Ï´Ù. µÎ °ªÀÌ ÁöÁ¤µÈ °æ¿ì ù ¹ø° ÁöÁ¤ ³¯Â¥¿¡¼ µÎ ¹ø° ÁöÁ¤ ³¯Â¥ »çÀÌ¸é °á°ú´Â trueÀÔ´Ï´Ù.
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌ ¹®Àº ·ÎÄà ½Ã°£´ë¿¡¼ °¢ ¿ùÀÇ Ã¹ ¹ø° ÀÏÀ̸é trueÀÔ´Ï´Ù.
dateRange(1)ÀÌ ¹®Àº ±×¸®´ÏÄ¡ Ç¥Áؽÿ¡¼ °¢ ¿ùÀÇ Ã¹ ¹ø° ÀÏÀ̸é trueÀÔ´Ï´Ù.
dateRange(1, "GMT")ÀÌ ¹®Àº °¢ ¿ùÀÇ Àü¹Ý±â¿¡ ´ëÇØ trueÀÔ´Ï´Ù.
dateRange(1, 15)ÀÌ ¹®Àº °¢ ¿¬µµÀÇ 12¿ù 24ÀÏ¿¡¼ trueÀÔ´Ï´Ù.
dateRange(24, "DEC")ÀÌ ¹®Àº 1995³â 12¿ù 24ÀÏ¿¡¼ trueÀÔ´Ï´Ù.
dateRange(24, "DEC", 1995)ÀÌ ¹®Àº ÇØ´ç ³âµµ 1ºÐ±â µ¿¾È trueÀÔ´Ï´Ù.
dateRange("JAN", "MAR")ÀÌ ¹®Àº °¢ ¿¬µµÀÇ 6¿ù 1ÀϺÎÅÍ 8¿ù 15ÀϱîÁö trueÀÔ´Ï´Ù.
dateRange(1, "JUN", 15, "AUG")ÀÌ ¹®Àº 1995³â 6¿ù 1ÀϺÎÅÍ 1995³â 8¿ù 15ÀϱîÁö trueÀÔ´Ï´Ù.
dateRange(1, "JUN", 15, 1995, "AUG", 1995)ÀÌ ¹®Àº 1995³â 10¿ùºÎÅÍ 1996³â 3¿ù±îÁö trueÀÔ´Ï´Ù.
dateRange("OCT", 1995, "MAR", 1996)ÀÌ ¹®Àº 1995³â ³»³» trueÀÔ´Ï´Ù.
dateRange(1995)ÀÌ ¹®Àº 1995³â ÃʺÎÅÍ 1997³â ¸»±îÁö trueÀÔ´Ï´Ù.
dateRange(1995, 1997)timeRange(½Ã°£, ºÐ, ÃÊ...)
timeRange ÇÔ¼ö´Â ¿ÀÈÄ 9½ÃºÎÅÍ ¿ÀÀü 12½Ã±îÁö¿Í °°Àº ÇÏ·ç ÁßÀÇ Æ¯Á¤ ½Ã°£ ¶Ç´Â ½Ã°£ ¹üÀ§¸¦ °¨ÁöÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â ½Ã°£¿¡ µû¶ó FindProxyForURL ÇÔ¼ö¸¦ ´Ù¸£°Ô ÀÛµ¿Çϵµ·Ï ÇÏ·Á´Â °æ¿ì À¯¿ëÇÕ´Ï´Ù.
timeRange(hour)
timeRange(hour1, hour2)
timeRange(hour1, min1, hour2, min2)
timeRange(hour1, min1, sec1, hour2, min2, sec2)¸Å°³ º¯¼ö:
hour´Â ½Ã°£À» Ç¥½ÃÇÏ´Â 0ºÎÅÍ 23±îÁöÀÇ ¼öÀÔ´Ï´Ù(0Àº ÀÚÁ¤, 23Àº ¿ÀÈÄ 11:00).
minÀº ºÐÀ» Ç¥½ÃÇÏ´Â 0ºÎÅÍ 59±îÁöÀÇ ¼öÀÔ´Ï´Ù.
sec´Â Ãʸ¦ Ç¥½ÃÇÏ´Â 0ºÎÅÍ 59±îÁöÀÇ ¼öÀÔ´Ï´Ù.
gmt´Â GMT ½Ã°£´ëÀÎ °æ¿ì GMT ¹®ÀÚ¿ÀÌ¸ç ·ÎÄà ½Ã°£´ëÀÎ °æ¿ì ÁöÁ¤µÇÁö ¾Ê½À´Ï´Ù. ÀÌ ¸Å°³ º¯¼ö´Â °¢ ¸Å°³ º¯¼ö ÇÁ·ÎÆÄÀÏ°ú ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç Ç×»ó ¸¶Áö¸· ¸Å°³ º¯¼öÀÔ´Ï´Ù.
¹Ýȯ:
true ¶Ç´Â false
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
ÀÌ ¹®Àº Á¤¿À¿¡¼ ¿ÀÈÄ 1:00±îÁö trueÀÔ´Ï´Ù.
timerange(12, 13)ÀÌ ¹®Àº GMT Á¤¿À¿¡¼ ¿ÀÈÄ 12:59±îÁö trueÀÔ´Ï´Ù
timerange(12, "GMT")ÀÌ ¹®Àº ¿ÀÀü 9:00¿¡¼ ¿ÀÈÄ 5:00±îÁö trueÀÔ´Ï´Ù.
timerange(9, 17)ÀÚÁ¤ºÎÅÍ ÀÚÁ¤ ÈÄ 30ÃÊ »çÀ̱îÁö trueÀÔ´Ï´Ù.
timerange(0, 0, 0, 0, 0, 30)weekdayRange(wd1, wd2, gmt)
weekdayRange() ÇÔ¼ö´Â ƯÁ¤ ÁÖÁß ¿äÀÏ ¶Ç´Â ¿ù¿äÀϺÎÅÍ ±Ý¿äÀϱîÁö µî°ú °°Àº ÁÖÁß ¿äÀÏ ¹üÀ§¸¦ °¨ÁöÇÕ´Ï´Ù. ÀÌ ÇÔ¼ö´Â FindProxyForURL ÇÔ¼ö¸¦ ÁÖÁß ¿äÀÏ¿¡ µû¶ó ´Ù¸£°Ô ÀÛµ¿Çϵµ·Ï ÇÏ·Á´Â °æ¿ì À¯¿ëÇÕ´Ï´Ù.
¸Å°³ º¯¼ö:
wd1 ¹× wd2´Â ´ÙÀ½ ¿äÀÏ ¹®ÀÚ¿ Áß ÇϳªÀÔ´Ï´Ù.
SUN MON TUE WED THU FRI SATgmt´Â ±×¸®´ÏÄ¡ Ç¥ÁؽÃÀÎ °æ¿ì GMT ¶Ç´Â ·ÎÄà ½Ã°£´ëÀÎ °æ¿ì ºóÄÀ¸·Î µÓ´Ï´Ù.
ù ¹ø° ¸Å°³ º¯¼öÀÎ wd1¸¸ Çʼö ¸Å°³ º¯¼öÀÔ´Ï´Ù. wd2, gmt, ¶Ç´Â µÑ ´Ù ºóÄÀ¸·Î µÑ ¼ö ÀÖ½À´Ï´Ù.
¸Å°³ º¯¼ö°¡ Çϳª »ÓÀ̸é ÇÔ¼ö´Â ¸Å°³ º¯¼ö°¡ ³ªÅ¸³»´Â ¿äÀÏ¿¡¼ true °ªÀ» ¹ÝȯÇÕ´Ï´Ù. µÎ ¹ø° ¸Å°³ º¯¼ö·Î GMT ¹®ÀÚ¿ÀÌ ÁöÁ¤µÈ °æ¿ì¿¡´Â GMT ½Ã°£ÀÌ, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â ·ÎÄà ½Ã°£´ë°¡ Àû¿ëµË´Ï´Ù.
wd1°ú wd2°¡ ¸ðµÎ Á¤ÀÇµÈ °æ¿ì ÇöÀç ¿äÀÏÀÌ ÀÌ µÎ ¿äÀÏÀÇ »çÀÌ¿¡ ÀÖÀ¸¸é Á¶°ÇÀº trueÀÔ´Ï´Ù. °æ°è¼±µµ ¹üÀ§¿¡ Æ÷ÇԵ˴ϴÙ. ¸Å°³ º¯¼öÀÇ ¼ø¼°¡ Áß¿äÇÕ´Ï´Ù. "MON," "WED"´Â ¿ù¿äÀϺÎÅÍ ¼ö¿äÀϱîÁöÀÔ´Ï´Ù. ±×·¯³ª "WED," "MON"Àº ¼ö¿äÀϺÎÅÍ ´ÙÀ½ÁÖ ¿ù¿äÀϱîÁöÀÔ´Ï´Ù.
¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
´ÙÀ½Àº ¿ù¿äÀϺÎÅÍ ±Ý¿äÀϱîÁö trueÀÔ´Ï´Ù(·ÎÄà ½Ã°£´ë).
weekdayRange("MON", "FRI")´ÙÀ½Àº ±×¸®´ÏÄ¡ Ç¥Áؽ÷Π¿ù¿äÀϺÎÅÍ ±Ý¿äÀϱîÁö trueÀÔ´Ï´Ù.
weekdayRange("MON", "FRI", "GMT")´ÙÀ½Àº ·ÎÄà ½Ã°£À¸·Î Åä¿äÀÏ¿¡ trueÀÔ´Ï´Ù.
weekdayRange("SAT")´ÙÀ½Àº ±×¸®´ÏÄ¡ Ç¥Áؽ÷ΠÅä¿äÀÏ¿¡ trueÀÔ´Ï´Ù.
weekdayRange("SAT", "GMT")´ÙÀ½Àº ±Ý¿äÀϺÎÅÍ ¿ù¿äÀϱîÁö trueÀÔ´Ï´Ù(¼ø¼ Áß¿ä).
weekdayRange("FRI", "MON")¼¼ºÎÀûÀÎ ¿¹
¿¹Á¦ 1: ·ÎÄà ȣ½ºÆ®¸¦ Á¦¿ÜÇÑ ¸ðµç ¼¹ö ÇÁ·Ï½Ã
ÀÌ ¿¹Á¦¿¡¼ Netscape Navigator´Â Á¤±ÔȵÇÁö ¾Ê°í ·ÎÄà µµ¸ÞÀο¡ ¼ÓÇÏ´Â ¸ðµç È£½ºÆ®¿¡ Á÷Á¢ ¿¬°áÇÕ´Ï´Ù. ±× ¿ÜÀÇ ¸ðµç ¿¬°áÀº w3proxy.example.com:8080À̶ó´Â ÇÁ·Ï½Ã¸¦ ÅëÇÕ´Ï´Ù.
¿¹Á¦ 2: ¹æȺ® ¿ÜºÎÀÇ ·ÎÄà ¼¹ö ÇÁ·Ï½Ã
ÀÌ ¿¹Á¦´Â ¾ÕÀÇ ¿¹Á¦¿Í °°Áö¸¸ ¹æȺ® ¿ÜºÎÀÇ ·ÎÄà ¼¹ö¿¡ ´ëÇØ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÕ´Ï´Ù. ·ÎÄà µµ¸ÞÀο¡ ¼ÓÇÏÁö¸¸ ¹æȺ® ¿ÜºÎ¿¡ ÀÖ°í ÇÁ·Ï½Ã ¼¹ö¸¦ ÅëÇؼ¸¸ ¿¬°áÇÒ ¼ö Àִ ȣ½ºÆ®(¿¹: ±âº» À¥ ¼¹ö)ÀÎ °æ¿ì ÀÌ¿Í °°Àº ¿¹¿Ü´Â localHostOrDomainIs() ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ´ÙÀ½°ú °°ÀÌ Ã³¸®ÇÕ´Ï´Ù:
function FindProxyForURL(url, host)
{
if ((isPlainhost name(host) ||
dnsDomainIs(host, ".example.com")) &&
!localHostOrDomainIs(host, "www.example.com") &&
!localHostOrDoaminIs(host, "merchant.example.com"))
return "DIRECT";
else
return "PROXY w3proxy.example.com:8080; DIRECT";
}ÀÌ ¿¹¿¡¼´Â example.com µµ¸ÞÀÎÀÇ ·ÎÄà ȣ½ºÆ®¸¦ Á¦¿ÜÇÑ ¸ðµç ´ë»ó¿¡ ´ëÇØ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÕ´Ï´Ù. www.example.com°ú merchant.example.com È£½ºÆ®µµ ÇÁ·Ï½Ã¸¦ ÅëÇÏ¿© ¿¬°áÇÕ´Ï´Ù.
¿¹¿ÜÀÇ ¼ø¼´Â È¿À²¼ºÀ» ³ôÀÔ´Ï´Ù. localHostOrDomainIs() ÇÔ¼ö´Â ¸ðµç URLÀÌ ¾Æ´Ï¶ó ·ÎÄà µµ¸ÞÀο¡ ÀÖ´Â URL¿¡ ´ëÇؼ¸¸ ½ÇÇàµË´Ï´Ù. ƯÈ÷ and Ç¥Çö½Ä ¾Õ¿¡ or Ç¥Çö½ÄÀÌ °ýÈ£ ¾È¿¡ ÀÖÀ½À» À¯ÀÇÇϽʽÿÀ.
¿¹Á¦ 3: º¯È¯µÇÁö ¾ÊÀº È£½ºÆ®¸¸ ÇÁ·Ï½Ã
ÀÌ ¿¹Á¦´Â ³»ºÎ DNS¸¦ ¼³Á¤ÇÏ¿© ³»ºÎ È£½ºÆ® À̸§¸¸ º¯È¯Çϴ ȯ°æ¿¡¼ µ¿ÀÛÇϸç, º¯È¯ÇÒ ¼ö ¾ø´Â È£½ºÆ®¿¡ ´ëÇؼ¸¸ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¸ñÀûÀÔ´Ï´Ù.
function FindProxyForURL(url, host)
{
if (isResolvable(host))
return "DIRECT";
else
return "PROXY proxy.mydomain.com:8080";
}ÀÌ ¿¹Á¦´Â ¸Å¹ø DNS¸¦ ÂüÁ¶ÇØ¾ß ÇϹǷΠ´Ù¸¥ ±ÔÄ¢°ú ±×·ìÈÇÏ¿© ´Ù¸¥ ±ÔÄ¢ÀÌ °á°ú¸¦ »ý¼ºÇÏÁö ¾Ê´Â °æ¿ì¿¡¸¸ DNS¸¦ ÂüÁ¶Çϵµ·Ï ÇØ¾ß ÇÕ´Ï´Ù.
function FindProxyForURL(url, host)
{if (isPlainhost name(host) ||
dnsDomainIs(host, ".mydomain.com") ||
isResolvable(host))
return "DIRECT";
else
return "PROXY proxy.mydomain.com:8080";
}
¿¹Á¦ 4: ¼ºê³ÝÀ¸·Î Á÷Á¢ ¿¬°á
ÀÌ ¿¹Á¦¿¡¼ ÁöÁ¤µÈ ¼ºê³ÝÀÇ ¸ðµç È£½ºÆ®´Â ÇÁ·Ï½Ã¸¦ ÅëÇÏ´Â ´Ù¸¥ È£½ºÆ®·Î Á÷Á¢ ¿¬°áµË´Ï´Ù.
function FindProxyForURL(url, host)
{
if (isInNet(host, "198.95.0.0", "255.255.0.0"))
return "DIRECT";
elsereturn "PROXY proxy.mydomain.com:8080";
}´ÙÀ½°ú °°ÀÌ Ã³À½¿¡ ¸®´ø´øÆ® ±ÔÄ¢À» Ãß°¡Çϸé ÀÌ ¿¹Á¦¿¡¼ DNS »ç¿ëÀ» ÃÖ¼ÒÈÇÒ ¼ö ÀÖ½À´Ï´Ù.
function FindProxyForURL(url, host)
{
if (isPlainhost name(host) ||
dnsDomainIs(host, ".mydomain.com") ||
isInNet(host, "198.95.0.0", "255.255.0.0"))
return "DIRECT";
else
return "PROXY proxy.mydomain.com:8080";
}
¿¹Á¦ 5: dnsDomainIs()À» »ç¿ëÇÑ ÇÁ·Ï½Ã ·Îµå ¹ë·±½Ì
ÀÌ ¿¹Á¦´Â ´õ º¹ÀâÇÕ´Ï´Ù. ³× °³ÀÇ ÇÁ·Ï½Ã ¼¹ö°¡ ÀÖÀ¸¸ç ÀÌ Áß ÇÑ ÇÁ·Ï½Ã ¼¹ö´Â ´Ù¸¥ ¼¹ö¿¡ ´ëÇÑ »ó½Ã ´ë±â ¿ªÇÒÀ» ÇÏ¿© ³ª¸ÓÁö ¼¼ ÇÁ·Ï½Ã ¼¹ö Áß Çϳª°¡ ´Ù¿îµÇ¸é À̸¦ ´ë½ÅÇÕ´Ï´Ù. ³ª¸ÓÁö ¼¼ ÇÁ·Ï½Ã ¼¹ö´Â URL ÆÐÅÏÀ» ±â¹ÝÀ¸·Î ·Îµå¸¦ °øÀ¯ÇÔÀ¸·Î½á ij½ÃÀÇ È¿À²¼ºÀ» ³ôÀÔ´Ï´Ù(ÇÑ ¹®¼¿¡ ´ëÇÑ »çº»ÀÌ ¼¼ °³ÀÇ ÇÁ·Ï½Ã ¼¹ö ¸ðµÎ¿¡ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó ÇÑ ÇÁ·Ï½Ã ¼¹ö¿¡¸¸ ÀÖÀ½). ·Îµå´Â Ç¥ 17-3¿¡¼¿Í °°ÀÌ ºÐ»êµË´Ï´Ù.
Ç¥ 17-3
ÇÁ·Ï½Ã ·Îµå ¹ë·±½ÌÇÁ·Ï½Ã
¸ñÀû
#1
.com µµ¸ÞÀÎ
#2
.edu µµ¸ÞÀÎ
#3
±× ¿Ü ¸ðµç µµ¸ÞÀÎ
#4
»ó½Ã ´ë±â
¸ðµç ·ÎÄà ¾×¼¼½º´Â Á÷Á¢ ¿¬°áµË´Ï´Ù. ¸ðµç ÇÁ·Ï½Ã ¼¹ö´Â 8080 Æ÷Æ®¿¡¼ ½ÇÇàµË´Ï´Ù. JavaScript¿¡¼ + ¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ¹®ÀÚ¿À» ¿¬°áÇÒ ¼ö ÀÖ½À´Ï´Ù.
function FindProxyForURL(url, host)
{
if (isPlainhost name(host) || dnsDomainIs(host, ".mydomain.com"))
return "DIRECT";
else if (dnsDomainIs(host, ".com"))
return "PROXY proxy1.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
else if (dnsDomainIs(host, ".edu"))
return "PROXY proxy2.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
else
return "PROXY proxy3.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
}
¿¹Á¦ 6: shExpMatch()¸¦ »ç¿ëÇÑ ÇÁ·Ï½Ã ·Îµå ¹ë·±½Ì
ÀÌ ¿¹Á¦´Â ±âº»ÀûÀ¸·Î ¿¹Á¦ 5¿Í µ¿ÀÏÇÏÁö¸¸ dnsDomainIs() ´ë½Å shExpMatch()¸¦ »ç¿ëÇÕ´Ï´Ù.
function FindProxyForURL(url, host)
{if (isPlainhost name(host) || dnsDomainIs(host, ".mydomain.com"))
return "DIRECT";
else if (shExpMatch(host, "*.com"))
return "PROXY proxy1.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
else if (shExpMatch(host, "*.edu"))
return "PROXY proxy2.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
else
return "PROXY proxy3.mydomain.com:8080; " +
"PROXY proxy4.mydomain.com:8080";
}
¿¹Á¦ 7: ƯÁ¤ ÇÁ·ÎÅäÄÝ ÇÁ·Ï½Ã
ÇÁ·Ï½Ã¸¦ ƯÁ¤ ÇÁ·ÎÅäÄÝ¿¡ ´ëÇØ ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëºÎºÐÀÇ Ç¥ÁØ
JavaScript ±â´ÉÀº FindProxyForURL() ÇÔ¼ö¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ÇÁ·ÎÅäÄÝÀ» ±â¹ÝÀ¸·Î ´Ù¸¥ ÇÁ·Ï½Ã¸¦ ¼³Á¤ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ substring() ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.function FindProxyForURL(url, host)
{
if (url.substring(0, 5) == "http:") {
return "PROXY http-proxy.mydomain.com:8080";
}
else if (url.substring(0, 4) == "ftp:") {
return "PROXY ftp-proxy.mydomain.com:8080";
}
else if (url.substring(0, 7) == "gopher:") {
return "PROXY gopher-proxy.mydomain.com:8080";
}
else if (url.substring(0, 6) == "https:" ||
url.substring(0, 6) == "snews:") {
return "PROXY security-proxy.mydomain.com:8080";
}
else {
return "DIRECT";
}
}¶ÇÇÑ shExpMatch() ÇÔ¼ö¸¦ »ç¿ëÇؼµµ ¸¶Âù°¡Áö ±â´ÉÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¸é ´ÙÀ½°ú °°½À´Ï´Ù.
...
if (shExpMatch(url, "http:*")) {
return "PROXY http-proxy.mydomain.com:8080;
}...