|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
java.lang.Object | +--java.net.URI
URI (Uniform Resource Identifier) ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù.
ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â ¡¸RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax¡¹·Î Á¤ÀǵǾRFC 2732: Format for Literal IPv6 Addresses in URLs¡¹·Î ¼öÁ¤µÇ¾î ¾Æ·¡¿Í °°ÀÌ·Î ¼³¸íÇÏ´Â ºÎºÐÀÌ º¯°æµÈ URI ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. ÀÌ Å¬·¡½º´Â ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ¶Ç´Â ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» ÇØ¼®ÇØ URI ÀνºÅϽº¸¦ ÀÛ¼ºÇϱâ À§ÇÑ constructor , ÀνºÅϽºÀÇ °¢Á¾ ÄÄÆÛ³ÍÆ®¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ¸Þ¼Òµå, ¹× URI ÀνºÅϽº¸¦ Á¤±ÔÈ, ÇØ°á, »ó´ëÈÇϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.
[schema:]schema °íÀ¯ ºÎºÐ[#fragment]¿©±â¼, ²©¼â¹À½ [...] (Àº)´Â ¿É¼ÇÀÇ ÄÄÆÛ³ÍÆ®¸¦ ³ªÅ¸³»,: ¶ó°í # ´Â ±× ij¸¯ÅÍ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù.
¡¸Àý´ë¡¹URI ´Â schema¸¦ ÁöÁ¤ÇØ, Àý´ë°¡ ¾Æ´Ñ URI ´Â ¡¸»ó´ë¡¹¶ó°í ºÒ¸³´Ï´Ù. ¶Ç, URI ´Â ¡¸ºÒÅõ¸í¡¹ÀÏ±î ¡¸°èÃþÀû¡¹Àϱ ÀÇÇØ ºÐ·ùµË´Ï´Ù.
¡¸ºÒÅõ¸í¡¹URI ´Â schema °íÀ¯ ºÎºÐÀÌ slash (/)·Î ½ÃÀÛµÇÁö ¾Ê´Â Àý´ë URI ÀÔ´Ï´Ù. ºÒÅõ¸í URI ´Â ±× ÀÌ»ó ÇØ¼®µÇÁö ¾Ê½À´Ï´Ù. ºÒÅõ¸í URI ÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
mailto:java-net@java.sun.com news:comp.lang.java urn:isbn:096139210x
¡¸°èÃþ¡¹URI ´Â schema °íÀ¯ ºÎºÐÀÌ slash·Î ½ÃÀ۵Ǵ Àý´ë URI, ¶Ç´Â »ó´ë URI (schema¸¦ ÁöÁ¤ÇÏÁö ¾Ê´Â URI)ÀÔ´Ï´Ù. °èÃþ URI ÀÇ ¿¹¸¦ ´ÙÀ½¿¡ ³ªÅ¸³À´Ï´Ù.
http://java.sun.com/j2se/1. 3/
docs/guide/collections/designfaq.html#28 ../../../demo/jfc/SwingSet2/src/SwingSet2.java file:///~/calendar
°èÃþ URI ´Â ±¸¹®¿¡ µû¶ó ÇÑÃþ ´õ ÇØ¼®µË´Ï´Ù.
[schema:][//±ÇÇÑ][ÆÐ½º][? Äí¿¡¸®-][#fragment]¿©±â¼,:,/,? , ¹× # Àº ±× ij¸¯ÅÍ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù. °èÃþ URI ÀÇ schema °íÀ¯ ºÎºÐÀº schema¿Í fragment ÄÄÆÛ³ÍÆ®ÀÇ »çÀÌÀÇ Ä³¸¯ÅÍ·Î ±¸¼ºµË´Ï´Ù.
°èÃþ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÁöÁ¤µÇ°í ÀÖ´Â °æ¿ì, ±× ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â ¡¸¼¹ö º£À̽º¡¹¶Ç´Â ¡¸·¹Áö½ºÆ®¸® º£À̽º¡¹ÀÔ´Ï´Ù. ¼¹ö º£À̽º ±ÇÇÑÀº Àß ¾Ë·ÁÁ® ÀÖ´Â ±¸¹®¿¡ µû¶ó ÇØ¼®µË´Ï´Ù.
[À¯Àú Á¤º¸@]È£½ºÆ®[:Æ÷Åä]¿©±â¼,@ ¶ó°í : ´Â ±× ij¸¯ÅÍ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù. ÇöÀç »ç¿ëµÇ°í ÀÖ´Â URI schemaÀÇ ´ëºÎºÐÀº ¼¹ö º£À̽ºÀÔ´Ï´Ù. ÀÌ¿Í °°ÀÌ ÇØ¼®µÇÁö ¾Ê´Â ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â ·¹Áö½ºÆ®¸® º£À̽º¶ó°í º¸¿©Áý´Ï´Ù.
°èÃþ URI ÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®´Â slash (/)·Î ½ÃÀ۵Ǵ °æ¿ì´Â Àý´ë·Î ºÒ·Á ±×·¸Áö ¾ÊÀº °æ¿ì´Â »ó´ë·Î ºÒ¸³´Ï´Ù. Àý´ëÀÎ °èÃþ URI ¶Ç´Â ±ÇÇÑÀ» ÁöÁ¤ÇÏ´Â °èÃþ URI ÀÇ ÆÐ½º´Â Ç×»ó Àý´ëÀÔ´Ï´Ù.
URI ÀνºÅϽº¿¡´Â ÀüºÎ ´ÙÀ½ÀÇ 9 °³ÀÇ ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù.
ÁöÁ¤µÈ ÀνºÅϽº¿¡¼´Â ¾î´À ƯÁ¤ÀÇ ÄÄÆÛ³ÍÆ®µµ ¡¸¹ÌÁ¤µµ¸®¡¹Àΰ¡ ¡¸Á¤Àǰ¡ ³¡³ »óÅ¡¹À̸ç, °³º°ÀÇ ÇüÅÂÀÇ °ªÀ» °¡Áý´Ï´Ù. ¹ÌÁ¤µµ¸®ÀÇ Ä³¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â null ·Î ³ªÅ¸³»Á® Á¤ÀÇ ³¡³ Á¤¼ö ÄÄÆÛ³ÍÆ®´Â -1 À¸·Î ³ªÅ¸³»Áý´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â °ªÀ¸·Î ÇØ¼ ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ» °¡Áöµµ·Ï(µíÀÌ) Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ±× ÄÄÆÛ³ÍÆ®°¡ ¹ÌÁ¤µµ¸®ÀÎ °ÍÀ¸·Î µ¿µîÇÏÁö´Â ¾Ê½À´Ï´Ù.
ÄÄÆÛ³ÍÆ® ŸÀÔ schema String schema °íÀ¯ ºÎºÐ String ±ÇÇÑ String À¯Àú Á¤º¸ String È£½ºÆ® String Æ÷Åä int ÆÐ½º String Äí¿¡¸®- String fragment String
ƯÁ¤ÀÇ ÄÄÆÛ³ÍÆ®°¡ ÀνºÅϽº·Î Á¤ÀǺô·ÁÁÖ¾îÁöÁö ¾ÊÀº°¡´Â Ç¥ÇöµÇ´Â URI ÀÇ Å¸ÀÔ¿¡ ÀÇÇØ ´Ù¸¨´Ï´Ù. Àý´ë URI ¿¡´Â schema ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù. ºÒÅõ¸í URI ¿¡´Â schema, schema °íÀ¯ ºÎºÐ, ¹× ¾Æ¸¶ fragment°¡ ÀÖ½À´Ï´Ù¸¸, ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®´Â ¾ø½À´Ï´Ù. °èÃþ URI ¿¡´Â Ç×»ó ÆÐ½º (´Ù¸¸ ºñ¾úÀ» °æ¿ì ÀÖ¾î) ¹× schema °íÀ¯ ºÎºÐ (Àû¾îµµ ÆÐ½º¸¦ Æ÷ÇÔÇÑ´Ù)ÀÌ ÀÖ¾î, ÇÑÃþ ´õ ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®Áß ÇÑÂÊÀÌ ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇϰí ÀÖ¾î ¼¹ö º£À̽ºÀÎ °æ¿ì, È£½ºÆ® ÄÄÆÛ³ÍÆ®´Â Á¤Àǵ˴ϴÙ. À¯Àú Á¤º¸¿Í Æ÷Åä ÄÄÆÛ³ÍÆ®´Â Á¤ÀǵǴ °æ¿ìµµ ÀÖ½À´Ï´Ù.
¡¸Á¤±ÔÈ¡¹´Â °èÃþ URI ÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®·ÎºÎÅÍ ºÒÇÊ¿äÇÑ ¡¸. ¡¹ ¹× ¡¸..¡¹¼¼±×¸ÕÆ®(segment)¸¦ »èÁ¦ÇÏ´Â ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. °¢ ¡¸. ¡¹¼¼±×¸ÕÆ®(segment)´Â ´ÜÁö »èÁ¦µË´Ï´Ù. ¡¸..¡¹¼¼±×¸ÕÆ®(segment)´Â ¡¸..¡¹ÀÌ¿ÜÀÇ ¼¼±×¸ÕÆ®(segment)°¡ ¼±ÇàÇÏ´Â °æ¿ì¿¡¸¸ »èÁ¦µË´Ï´Ù. Á¤±ÔÈ´Â ºÒÅõ¸í URI ¿¡´Â ¿µÇâÀ» ÁÖÁö ¾Ê½À´Ï´Ù.
¡¸Çذ᡹Àº ¾î´À URI ¸¦ ´Ù¸¥ ¡¸º£À̽º¡¹URI ¿¡ ´ëÇØ¼ ÇØ°áÇÏ´Â ÇÁ·Î¼¼½ºÀÔ´Ï´Ù. °á°úÀÇ URI ´Â RFC 2396 ·Î ÁöÁ¤µÇ°í ÀÖ°Ô, ¾çÂÊ ¸ðµÎÀÇ URI ÀÇ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàµÇ¾î ¿øÀÇ URI ·Î ÁöÁ¤µÇ¾î ÀÖÁö ¾ÊÀº ÄÄÆÛ³ÍÆ®¸¦ À§Çؼ(¶§¹®¿¡) º£À̽º URI ·ÎºÎÅÍ ÄÄÆÛ³ÍÆ®¸¦ ¼öÁß¿¡ ³Ö½À´Ï´Ù. °èÃþ URI ÀÇ °æ¿ì, ¿øÀÇ ÆÐ½º´Â º£À̽ºÀÇ ÆÐ½º¿¡ ´ëÇØ¼ ÇØ°áµÇ¾î Á¤±Ôȵ˴ϴÙ. ¿¹¸¦ µé¾î, ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
docs/guide/collections/designfaq.html#28 (1)(À»)¸¦ º£À̽º URI http://java.sun.com/j2se/1. 3/ ¿¡ ´ëÇØ¼ ÇØ°áÇϸé(ÀÚ), °á°úÀÇ URI ´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
http://java.sun.com/j2se/1. 3/docs/guide/collections/designfaq.html#28»ó´ë URI
../../../demo/jfc/SwingSet2/src/SwingSet2.java (2)(À»)¸¦ ÀÌ °á°ú¿¡ ´ëÇØ¼ ÇØ°áÇϸé(ÀÚ), ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
http://java.sun.com/j2se/1. 3/demo/jfc/SwingSet2/src/SwingSet2.javaÀý´ë¿Í »ó´ëÀÇ ¾çÂÊ ¸ðµÎÀÇ URI ÀÇ ÇØ°á, ¹× °èÃþ URI ÀÇ °æ¿ì´Â Àý´ë¿Í »ó´ëÀÇ ¾çÂÊ ¸ðµÎÀÇ ÆÐ½ºÀÇ ÇØ°áÀÌ ¼Æ÷Æ®µË´Ï´Ù. URI file:///~calendar ´Â Àý´ëÀ̹ǷÎ, À̰ÍÀ» ´Ù¸¥ ÀÓÀÇÀÇ URI ¿¡ ´ëÇØ¼ ÇØ°áÇϸé(ÀÚ), ¿øÀÇ URI °¡ »ý¼ºµÉ »ÓÀÔ´Ï´Ù. »ó±âÀÇ »ó´ë URI (2)¸¦ »ó´ë º£À̽º URI (1)¿¡ ´ëÇØ¼ ÇØ°áÇϸé(ÀÚ), Á¤±Ôȵǰí À־ »ó´ë ÀΠäÀÇ URI °¡ »ý¼ºµË´Ï´Ù.
demo/jfc/SwingSet2/src/SwingSet2.java
¸¶Áö¸·À¸·Î, ¡¸»ó´ëÈ¡¹´Â ÇØ°áÀÇ ¿ªº¯È¯ÀÔ´Ï´Ù. ÀÓÀÇÀÇ 2 °³ÀÇ Á¤±ÔÈµÈ URI,u ¹× v ÀÇ °æ¿ì,
u. relativize(u. resolve(v)). equals(v) ¹×ÀÌ Á¶ÀÛÀº °¡´ÉÇÏ¸é ¾îµð¼¿¡¼µµ, ¹®¼ÀÇ º£À̽º URI ¿¡ ´ëÇØ¼ »ó´ëÀûÀÌ ¾Æ´Ï¸é ¾ÈµÇ´Â URI ¸¦ Æ÷ÇÔÇÑ ¹®¼¸¦ ±¸ÃàÇÏ´Â °æ¿ì¿¡ Æí¸®ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ URI
u. resolve(u. relativize(v)). equals(v) °¡ µË´Ï´Ù.
http://java.sun.com/j2se/1. 3/docs/guide/index.html(À»)¸¦ ´ÙÀ½ÀÇ º£À̽º URI ¿¡ ´ëÇØ¼ »ó´ëÈÇϸé(ÀÚ),
http://java.sun.com/j2se/1. 3»ó´ë URI docs/guide/index.html °¡ »ý¼ºµË´Ï´Ù.
¿µ¹®ÀÚ A ·ÎºÎÅÍ Z, ¹× a ·ÎºÎÅÍ z ±îÁöÀÇ US-ASCII ¿µ¹®ÀÚ ¼ýÀÚ 0 ·ÎºÎÅÍ 9 ±îÁöÀÇ US-ASCII 10 Áø¼öÀÚ ¿µ¼ýÀÚ ¸ðµç ¡¸¿µ¹®ÀÚ¡¹ ¹× ¡¸¼ýÀÚ¡¹Ä³¸¯ÅÍ ¹Ì¿¹¾à ¸ðµç ¡¸¿µ¼ýÀÚ¡¹Ä³¸¯ÅÍ, ¹× ij¸¯ÅÍ ¶óÀÎ _-!.~'()* ¾ÈÀÇ Ä³¸¯ÅÍ ±¸µÎÁ¡ ij¸¯ÅÍ ¶óÀÎ ,;:$&+= ¾ÈÀÇ Ä³¸¯ÅÍ ¿¹¾à ¸ðµç ¡¸±¸µÎÁ¡¡¹Ä³¸¯ÅÍ, ¹× ij¸¯ÅÍ ¶óÀÎ "? /[]@" ¾ÈÀÇ Ä³¸¯ÅÍ À̽ºÄÉÀÌÇÁ À̽ºÄÉÀÌÇÁ octet. Áï, ÆÛ¼¾Æ® ij¸¯ÅÍ (%)¿Í °Å±â¿¡ °è¼ÓµÇ´Â 2 ÀÚ¸®¼öÀÇ 16 Áø¼ö (0 - 9,A - F, ¹× a - f)·Î ±¸¼ºµÇ´Â »ïÁßÇ× ±× ¿Ü US-ASCII ij¸¯ÅÍ ¼¼Æ®¿¡ Æ÷ÇÔµÇÁö ¾Ê°í Á¦¾î ij¸¯ÅÍ ( Character.isISOControl
¸ä¼Òµå¿¡ ÀÇÇÑ´Ù)°¡ ¾Æ´Ï°í, °ø¹é ij¸¯ÅÍ (Character.isSpaceChar
¸Þ¼Òµå¿¡ ÀÇÇÑ´Ù)°¡ ¾Æ´Ñ Unicode ij¸¯ÅÍ (US-ASCII ·Î ÇÑÁ¤µÇ°í ÀÖ´Â RFC 2396 À» º¯°æÇÑ °Í)
¸ðµç ºÎÁ¤ÇÑ Ä³¸¯ÅÍ´Â ´ÜÁö encode ÇØ ¡¸ÀοëºÎÈ£·Î À§¡¹. ¿¹¸¦ µé¾î °ø¹é ij¸¯ÅÍ´Â %20 ·Î ¿Å°Ü³õ¾Æ ÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ. UTF-8 ¿¡´Â US-ASCII °¡ Æ÷ÇԵǹǷÎ, US-ASCII ij¸¯ÅÍÀÇ °æ¿ì, ÀÌ º¯È¯À¸·Î RFC 2396 ·Î ¿ä±¸µÇ´Â È¿°ú¸¦ Á¤È®ÇÏ°Ô ¾òÀ» ¼ö ÀÖ´Ù
À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼´Â ±× ¼øÂ÷ ¼ø¼°¡ UTF-8 ij¸¯ÅÍ ¼¼Æ®³»¿¡¼ ³ªÅ¸³»´Â ij¸¯ÅÍÀÇ ¼øÂ÷ ¼ø¼·Î ¿Å°Ü³õÀ» ¼ö ÀÖ´Â °ÍÀ¸·Î, ¡¸º¹È£È(decode)¡¹µÈ´Ù. UTF-8 ¿¡´Â US-ASCII °¡ Æ÷ÇԵǹǷÎ, º¹È£È(decode)¿¡´Â ÀοëºÎÈ£·Î µÑ·¯½ÎÀÎ ¸ðµç US-ASCII ij¸¯ÅÍÀÇ ÀοëºÎÈ£¸¦ ÇØÁ¦ÇÏ´Â È¿°ú¿Í encode µÈ ºñ US-ASCII ij¸¯Å͸¦ º¹È£È(decode) ÇÏ´Â È¿°ú°¡ ÀÖ´Ù. À̽ºÄÉÀÌÇÁ octet ¸¦ º¹È£È(decode) ÇÒ °æ¿ì¿¡ º¹È£È(decode) ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, ºÎÁ¤ÇÑ octet ´Â Unicode ÀÇ Ä¡È¯ ij¸¯ÅÍ \uFFFD ·Î ¿Å°Ü³õÀ» ¼ö ÀÖ´Ù URI ¿Í URL ÀÇ °³³ä»óÀÇ ±¸º°Àº ÀÌ Å¬·¡½º¿Í ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â RFC 2396 ·Î Á¤Àǵǰí ÀÖ´Â ±¸¹®ÀûÀÎ Àǹ̿¡¼ÀÇ URI ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. URI ´Â Àý´ë¿¡¼µµ »ó´ë¿¡¼µµ ±¦Âú½À´Ï´Ù. URI ij¸¯ÅÍ ¶óÀÎÀº ÀÏ¹Ý ±¸¹®¿¡ µû¶ó ÇØ¼®µÇ¾î ÁöÁ¤µÈ schema°¡ À־ °í·ÁÇÏÁö ¾Ê½À´Ï´Ù. È£½ºÆ®ÀÇ ÂüÁ¶´Â À־ ½ÇÇàµÇÁö ¾Ê°í schema ÀÇÁ¸ÀÇ ½ºÆ®¸² Çڵ鷯´Â ±¸ÃàµÇÁö ¾Ê½À´Ï´Ù. µ¿µî¼º, ÇØ½Ã, ¹× ºñ±³´Â ÀνºÅϽºÀÇ Ä³¸¯ÅÍ ³»¿ë¿¡ ÀÇÇØ ¾ö¹ÐÇÏ°Ô Á¤Àǵ˴ϴÙ. Áï, URI ÀνºÅϽº´Â ºñ±³, Á¤±ÔÈ, ÇØ°á, ¹× »ó´ëÈÀÇ ±¸¹®ÀûÀÎ, schema¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â Á¶ÀÛÀ» ¼Æ÷Æ®ÇÏ´Â ±¸Á¶È ij¸¯ÅÍ ¶óÀο¡ Áö³ªÁö ¾Ê½À´Ï´Ù.
´ëÁ¶ÀûÀ¸·Î,
¿¡¼´Â Àμö³»ÀÇ ºÎÁ¤ÇÑ Ä³¸¯Å͸¦ ÀοëºÎÈ£·Î µÑ·¯½Ò Çʿ䰡 ÀÖ¾î, Á¸ÀçÇÏ´Â ¸ðµç À̽ºÄÉÀÌÇÁ octet ¿Í ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯Å͸¦ º¸Á¸ÇÑ´Ù single-argument constructor
´Â ºÎÁ¤ÇÑ Ä³¸¯ÅͰ¡ Á¸ÀçÇÏ´Â ÄÄÆÛ³ÍÆ®ÀÇ ¿ä±¸¿¡ ÀÇÇØ ºÎÁ¤ÇÑ Ä³¸¯Å͸¦ ÀοëºÎÈ£·Î µÑ·¯½Ñ´Ù. ÆÛ¼¾Æ® ij¸¯ÅÍ (%)´Â Ç×»ó ÀÌ·¯ÇÑ constructor ¿¡ ÀÇÇØ µÑ·¯½ÎÀδÙ. ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯ÅÍ´Â º¸Á¸µÈ´Ù multi-argument constructors
getRawUserInfo
,getRawPath
, getRawQuery
,getRawFragment
, getRawAuthority
, ¹× getRawSchemeSpecificPart
¸Þ¼Òµå´Â ´ëÀÀÇÏ´Â ÄÄÆÛ³ÍÆ®ÀÇ °ªÀ» ±×´ë·ÎÀÇ Çü½Ä¿¡¼ µ¹·ÁÁÖ¾î, À̽ºÄÉÀÌÇÁ octet ¸¦ ÇØ¼®ÇÏÁö ¾Ê´Â´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â ij¸¯ÅÍ ¶óÀο¡´Â À̽ºÄÉÀÌÇÁ octet ¿Í ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯ÅÍÀÇ ¾çÂÊ ¸ðµÎ°¡ Æ÷ÇԵǾî ÀÖ´Â ÀÏÀÌ ÀÖ¾î, ºÎÁ¤ÇÑ Ä³¸¯ÅÍ´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù getUserInfo
,getPath
,getQuery
,getFragment
,getAuthority
, ¹× getSchemeSpecificPart
¸Þ¼Òµå´Â ´ëÀÀÇÏ´Â ÄÄÆÛ³ÍÆ®³»ÀÇ ¸ðµç À̽ºÄÉÀÌÇÁ octet ¸¦ º¹È£È(decode) ÇÑ´Ù. ÀÌ·¯ÇÑ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁö´Â ij¸¯ÅÍ ¶óÀο¡´Â ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯ÅÍ¿Í ºÎÁ¤ÇÑ Ä³¸¯ÅÍÀÇ ¾çÂÊ ¸ðµÎ°¡ Æ÷ÇԵǾî ÀÖ´Â ÀÏÀÌ ÀÖ¾î, À̽ºÄÉÀÌÇÁ octet ´Â Æ÷ÇÔµÇÁö ¾Ê´Â´Ù toString
¸Þ¼Òµå´Â ¸ðµç ÇÊ¿äÇÑ ÀοëºÎÈ£¸¦ °¡Áö´Â URI ij¸¯ÅÍ ¶óÀÎÀ» µ¹·ÁÁÖÁö¸¸, ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇԵǴ °æ¿ì°¡ ÀÖ´Ù toASCIIString
¸Þ¼Òµå´Â ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯Å͸¦ Æ÷ÇÔÇÏÁö ¾Ê´Â ¿ÏÀüÇÏ°Ô ÀοëºÎÈ£·Î µÑ·¯½Î¿© encode µÈ URI ij¸¯ÅÍ ¶óÀÎÀ» µ¹·ÁÁØ´Ù ¾ÆÀ̵§Æ¼Æ¼
ÀÓÀÇÀÇ URI u ÀÇ °æ¿ì´Â Ç×»ó ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
new URI(u. toString()). equals(u)
ÇÏ´ÃÀÇ ±ÇÇÑÀÇ Àü¿¡ 2 °³ÀÇ slash°¡ Àְųª (file:///tmp/ µî), È£½ºÆ®¸íÀÇ ÈÄ¿¡ ±¸µÎÁ¡ÀÌ À־ Æ÷Åä°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê°Å³ª (http://java.sun.com: µî) ÇÏ´Â °Í °°Àº ÀåȲ ±¸¹®À» Æ÷ÇÔÇÏÁö ¾Ê°í ÀοëºÎÈ£·Î µÑ·¯½Ò Çʿ䰡 Àִ ij¸¯ÅÍ ÀÌ¿ÜÀÇ Ä³¸¯Å͸¦ encode ÇÏÁö ¾Ê´Â URI u ÀÇ °æ¿ì´Â ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
new URI(u. getScheme(),
¸ðµç °æ¿ì¿¡ ´ëÇØ
u. getSchemeSpecificPart(),
u. getFragment())
. equals(u)
new URI(u. getScheme(),
u °¡ °èÃþÀÇ °æ¿ì
u. getUserInfo(), u. getAuthority(),
u. getPath(), u. getQuery(),
u. getFragment())
. equals(u)
new URI(u. getScheme(),
u °¡ °èÃþ¿¡¼, ±ÇÇÑ ¶Ç´Â ¼¹ö º£À̽ºÀÇ ±ÇÇÑÀ» °¡ÁöÁö ¾Ê´Â °æ¿ì
u. getUserInfo(), u. getHost(), u. getPort(),
u. getPath(), u. getQuery(),
u. getFragment())
. equals(u)
URI, URL, ¹× URN
URI ´Â Uniform Resource Identifier À̸ç, URL ´Â Uniform Resource Locator ÀÔ´Ï´Ù. µû¶ó¼, Ãß»óÀûÀ¸·Î ¸»Çϸé, ¸ðµç URL ´Â URI ÀÔ´Ï´Ù¸¸, ¸ðµç URI °¡ URL ÀÌ´Ù°í´ÂÀΰ¡ ¼±. À̰ÍÀº URI ÀÇ ´Ù¸¥ ºÎ¹üÀ§ÀÎ URN (Uniform Resource Names)°¡ ÀÖ±â (À§ÇØ)¶§¹®¿¡ÀÔ´Ï´Ù. URN ´Â ¸®¼Ò½º¿¡ À̸§À» ºÙÀÔ´Ï´Ù¸¸, ±× °Ë»ö ¹æ¹ýÀº ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. Àü¿¡ ³ªÅ¸³½ mailto,news, ¹× isbn ÀÇ °¢ URI ´Â URN ÀÇ ¿¹ÀÔ´Ï´Ù.
URL
Ŭ·¡½ºÀÇ »çÀÌÀÇ »óÀ§¿¡ ¹Ý¿µµÇ°í ÀÖ½À´Ï´Ù.
URL
Ŭ·¡½ºÀÇ ÀνºÅϽº´Â URL ÀÇ ±¸¹®Àû ÄÄÆÛ³ÍÆ®, ¹× URL °¡ ±â¼úÇÏ´Â ¸®¼Ò½º¿¡ÀÇ ¾×¼¼½º¿¡ ÇÊ¿äÇÑ Á¤º¸ÀÇ ÀϺθ¦ ³ªÅ¸³À´Ï´Ù. URL ´Â Àý´ëÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï, Ç×»ó schema¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. URL ij¸¯ÅÍ ¶óÀÎÀº ±× schema¿¡ µû¶ó ÇØ¼®µË´Ï´Ù. ½ºÆ®¸² Çڵ鷯´Â Ç×»ó URL ¿ëÀ¸·Î È®¸³µÇ¾î »ç½Ç, Çڵ鷯¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â schemaÀÇ URL ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. µ¿µî¼º°ú ÇØ½Ã´Â ¸¸¾à ÀÖÀ¸¸é, schema¿Í È£½ºÆ®ÀÇ ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ ¾çÂÊ ¸ðµÎ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ºñ±³´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. Áï, URL ´Â ÇØ°áÀÇ ±¸¹®Àû Á¶ÀÛ°ú È£½ºÆ®¸¦ ÂüÁ¶ÇØ, ÁöÁ¤µÈ ¸®¼Ò½º¿¡ÀÇ Á¢¼ÓÀ» ¿©´Â ³×Æ®¿öÅ© ÀÔÃâ·Â Á¶ÀÛÀ» ¼Æ÷Æ®ÇÏ´Â ±¸Á¶È ij¸¯ÅÍ ¶óÀÎÀÔ´Ï´Ù.
¡¸RFC 2373: IPv6 Addressing Architecture¡¹,
¡¸RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax¡¹,
¡¸RFC 2732: Format for Literal IPv6 Addresses in URLs¡¹,
URISyntaxException ,
Á÷·ÄÈ µÈ Çü½Ä
»ý¼ºÀÚÀÇ °³¿ä | |
URI (String str)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
URI (String scheme,
String ssp,
String fragment)
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
URI (String scheme,
String userInfo,
String host,
int port,
String path,
String query,
String fragment)
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
URI (String scheme,
String host,
String path,
String fragment)
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
|
URI (String scheme,
String authority,
String path,
String query,
String fragment)
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
¸Þ¼ÒµåÀÇ °³¿ä | |
int |
compareTo (Object ob)
ÀÌ URI ¸¦ ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í ºñ±³ÇÕ´Ï´Ù. |
static URI |
create (String str)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ URI ¸¦ ÀÛ¼ºÇÕ´Ï´Ù. |
boolean |
equals (Object ob)
ÀÌ URI °¡ ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù. |
String |
getAuthority ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getFragment ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ fragment ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getHost ()
ÀÌ URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getPath ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
int |
getPort ()
ÀÌ URI ÀÇ Æ÷Åä ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getQuery ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawAuthority ()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawFragment ()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ fragment ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawPath ()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawQuery ()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawSchemeSpecificPart ()
ÀÌ URI ÀÇ schema °íÀ¯ ºÎºÐÀ» µ¹·ÁÁÝ´Ï´Ù. |
String |
getRawUserInfo ()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getScheme ()
ÀÌ URI ÀÇ schema ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
String |
getSchemeSpecificPart ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ schema °íÀ¯ ºÎºÐÀ» µ¹·ÁÁÝ´Ï´Ù. |
String |
getUserInfo ()
ÀÌ URI ÀÇ º¹È£È(decode) µÈ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù. |
int |
hashCode ()
ÀÌ URI ÀÇ ÇØ½Ã ÄÚµåÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. |
boolean |
isAbsolute ()
ÀÌ URI °¡ Àý´ëÀΰ¡ ¾î¶²°¡¸¦ ÅëÁöÇÕ´Ï´Ù. |
boolean |
isOpaque ()
ÀÌ URI °¡ ºÒÅõ¸íÇѰ¡ ¾î¶²°¡¸¦ ÅëÁöÇÕ´Ï´Ù. |
URI |
normalize ()
ÀÌ URI ÀÇ ÆÐ½º¸¦ Á¤±ÔÈÇÕ´Ï´Ù. |
URI |
parseServerAuthority ()
ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ® (Á¤Àǵǰí ÀÖ´Â °æ¿ì)·ÎºÎÅÍ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ÀÇ ÇØ¼®À» ½ÃµµÇÕ´Ï´Ù. |
URI |
relativize (URI uri)
ÁöÁ¤µÈ URI ¸¦ ÀÌ URI ¿¡ ´ëÇØ¼ »ó´ëÈÇÕ´Ï´Ù. |
URI |
resolve (String str)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ, ±× ÈÄ ±× ij¸¯ÅÍ ¶óÀÎÀ» ÀÌ URI ¿¡ ´ëÇØ¼ ÇØ°áÇØ, »õ·Î¿î URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
URI |
resolve (URI uri)
ÁöÁ¤µÈ URI ¸¦ ÀÌ URI ¿¡ ´ëÇØ¼ ÇØ°áÇÕ´Ï´Ù. |
String |
toASCIIString ()
ÀÌ URI ÀÇ ÄÁÅÙÃ÷¸¦ US-ASCII ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼ µ¹·ÁÁÝ´Ï´Ù. |
String |
toString ()
ÀÌ URI ÀÇ ÄÁÅÙÃ÷¸¦ ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼ µ¹·ÁÁÝ´Ï´Ù. |
URL |
toURL ()
ÀÌ URI ·ÎºÎÅÍ URL ¸¦ ±¸ÃàÇÕ´Ï´Ù. |
Ŭ·¡½º java.lang. Object ¿¡¼ »ó¼Ó¹ÞÀº ¸Þ¼Òµå |
clone , finalize , getClass , notify , notifyAll , wait , wait , wait |
»ý¼ºÀÚÀÇ »ó¼¼ |
public URI(String str) throws URISyntaxException
ÀÌ constructor Àº ¡¸RFC 2396 , Appendix A¡¹ÀÇ ¹®¹ýÀ¸·Î ¾ö¹ÐÇÏ°Ô ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇÕ´Ï´Ù. ´Ù¸¸, ´ÙÀ½ÀÇ Á¡ÀÌ ´Ù¸¨´Ï´Ù.
ÇÏ´ÃÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â ±× ÈÄ¿¡ ÇÏ´ÃÀÌ ¾Æ´Ñ ÆÐ½º, Äí¿¡¸®-ÄÄÆÛ³ÍÆ®, ¶Ç´Â fragment ÄÄÆÛ³ÍÆ®°¡ °è¼ÓµÇ´Â ÇÑ Çã°¡µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,file:///foo/bar µîÀÇ URI ¸¦ ÇØ¼®ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ URI ´Â ¹®¹ýÀûÀ¸·Î´Â Çã°¡µË´Ï´Ù¸¸, RFC 2396 ÀÇ Àǵµ¿¡ ÇÕÄ¡ÇÕ´Ï´Ù. ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ºñ¾úÀ» °æ¿ì, À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù.
ÇÏ´ÃÀÇ »ó´ë ÆÐ½º´Â Çã°¡µË´Ï´Ù. À̰ÍÀº ¹®¹ýÀûÀ¸·Î´Â Çã°¡µË´Ï´Ù¸¸, RFC 2396 ÀÇ Àǵµ¿¡ ÇÕÄ¡ÇÕ´Ï´Ù. ÀÌ º¯°æÀÇ ÁÖµÈ °á°ú´Â #foo µîÀÇ ½ºÅĵå¾ó·ÐÀÇ fragment°¡ ÇÏ´ÃÀÇ ÆÐ½º ¹× ÁöÁ¤µÈ fragment¸¦ °¡Áö´Â »ó´ë URI ·Î¼ ÇØ¼®µÇ¾î º£À̽º URI ¿¡ ´ëÇØ¼ À¯È¿ÇϰÔÇØ°áÇÒ ¼ö ÀÖ´Â Á¡ÀÔ´Ï´Ù.
È£½ºÆ® ÄÄÆÛ³ÍÆ®ÀÇ IPv4 ÁÖ¼Ò´Â ¡¸RFC 2732¡¹·Î ÁöÁ¤µÇ°í ÀÖ´Â ´ë·Î ¾ö¹ÐÇÏ°Ô ÇØ¼®µË´Ï´Ù. ´åÀ¸·Î 4 °³·Î ±¸ºÐµÈ ÁÖ¼ÒÀÇ °¢ ¿ä¼Ò¿¡´Â 3 ÀÚ¸®¼ö¸¦ ³ÑÁö ¾Ê´Â 10 Áø¼ö°¡ Æ÷ÇԵǾî ÀÖÀ» Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ °¢ ¿ä¼ÒÀÇ °ªÀº 255 ¸¦ ³Ñ¾î¼´Â ¾È µÈ´Ù°í ÇÏ´Â Á¦¾àÀÌ ÀÖ½À´Ï´Ù.
IPv6 ÁÖ¼Ò°¡ È£½ºÆ® ÄÄÆÛ³ÍÆ®·Î Çã°¡µË´Ï´Ù. IPv6 ÁÖ¼Ò´Â ¡¸RFC 2732¡¹·Î ÁöÁ¤µÇ°í ÀÖ°Ô, ²©¼â¹À½ ([ ¹× ])À¸·Î µÑ·¯½Ò Çʿ䰡 ÀÖ½À´Ï´Ù. IPv6 ÁÖ¼Ò ÀÚü´Â ¡¸RFC 2373¡¹¿¡ µû¶ó ÇØ¼®ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. °Ô´Ù°¡ IPv6 ÁÖ¼Ò¿¡´Â 16 ¹ÙÀÌÆ®¸¦ ³ÑÁö ¾Ê´Â ÁÖ¼Ò Á¤º¸·Î ±â¼úÇÑ´Ù°í ÇÏ´Â Á¦¾àÀÌ ÀÖ½À´Ï´Ù. Á¦¾àÀº RFC 2373 ¿¡ Àº±ÙÈ÷ ³ªÅ¸³ª°í ÀÖ½À´Ï´Ù¸¸, ¹®¹ý¿¡¼´Â Ç¥ÇöÇÒ ¼ö ¾ø½À´Ï´Ù.
¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®³»ÀÇ Ä³¸¯ÅÍ´Â RFC 2396 ·Î ¡¸À̽ºÄÉÀÌÇÁ¡¹octet ¸¦ Çã°¡Çϰí ÀÖ´Â °÷(Áß), Áï À¯Àú Á¤º¸, ÆÐ½º, Äí¿¡¸®-, ¹× fragmentÀÇ °¢ ÄÄÆÛ³ÍÆ®¿Í ±ÇÇÑÀÌ ·¹Áö½ºÆ®¸® º£À̽ºÀÇ °æ¿ì´Â ±ÇÇÑ ÄÄÆÛ³ÍÆ®·Î Çã°¡µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ, URI ¿¡ US-ASCII ij¸¯ÅÍ ¼¼Æ® ÀÌ¿ÜÀÇ Unicode ij¸¯Å͸¦ Æ÷ÇÔÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
str
- URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
NullPointerException
- str °¡ null ÀÇ °æ¿ì
URISyntaxException
- »ó±âÀÇ º¯°æÀ¸·Î Ãß°¡µÈ °Íó·³, ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇϰí ÀÖ´Â °æ¿ìpublic URI(String scheme, String userInfo, String host, int port, String path, String query, String fragment) throws URISyntaxException
schema°¡ ÁöÁ¤µÇ¾î ÇÑÃþ ´õ ÆÐ½ºµµ ÁöÁ¤µÇ´Â °æ¿ì´Â ÆÐ½º´Â ÇÏ´ÃÀ̳ª slash (/)·Î ½ÃÀÛµÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ÄÄÆÛ³ÍÆ®´Â ´ëÀÀÇÏ´Â ÆÄ¶ó¹ÌÅÍ¿¡ null ¸¦ °Ç³×ÁÖ´ÂÁö port ÆÄ¶ó¹ÌÅÍÀÇ °æ¿ì´Â -1 À» °Ç³×ÁÖ¾î, ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
ÃÖÃÊ·Î ÀÌ constructor Àº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ij¸¯ÅÍ ¶óÀÎÀ» ±¸ÃàÇÕ´Ï´Ù.
óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.
schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.
À¯Àú Á¤º¸, È£½ºÆ®, ¶Ç´Â Æ÷Åä°¡ ÁöÁ¤µÇ´Â °æ¿ì´Â ij¸¯ÅÍ ¶óÀÎ // ÀÌ Ãß°¡µË´Ï´Ù.
À¯Àú Á¤º¸°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× À¯Àú Á¤º¸°¡ Ãß°¡µÇ¾î, ´Ü°¡ ±âÈ£ (@)°¡ °è¼ÓµË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø´Â ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .
È£½ºÆ®°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× È£½ºÆ®°¡ Ãß°¡µË´Ï´Ù. ±× È£½ºÆ®°¡ ¸®ÅÍ·² IPv6 ÁÖ¼Ò·Î, ²©¼â¹À½ ([ ¹× ])À¸·Î µÑ·¯½ÎÀÌÁö ¾ÊÀº °æ¿ì, ²©¼â¹À½ÀÌ Ãß°¡µË´Ï´Ù.
Æ÷Åä ¹øÈ£°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±¸µÎÁ¡ (:)ÀÌ Ãß°¡µÇ¾î 10 Áø¼öÀÇ Æ÷Åä ¹øÈ£°¡ °è¼ÓµË´Ï´Ù.
ÆÐ½º°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× ÆÐ½º°¡ Ãß°¡µË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼, slash (/) ¶Ç´Â ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
Äí¿¡¸®-°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ (? )(ÀÌ)°¡ Ãß°¡µÇ¾î, Äí¿¡¸®-°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
¸¶Áö¸·À¸·Î, fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, ÇØ½Ã ±âÈ£ (#)°¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº °á°ú¿¡ ´ëÇØ¼ URI(String)
constructor¸¦ È£ÃâÇØ, ´ÙÀ½¿¡ parseServerAuthority()
¸Þ¼Òµå¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ, ÇØ¼®µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,URISyntaxException
°¡ ½½·Î¿ì µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
scheme
- schema¸íuserInfo
- À¯Àú¸í°ú ÀÎÁõ Á¤º¸host
- È£½ºÆ®¸íport
- Æ÷Åä ¹øÈ£path
- ÆÐ½ºquery
- Äí¿¡¸®-fragment
- fragment
URISyntaxException
- schema¿Í ÆÐ½ºÀÇ ¾çÂÊ ¸ðµÎ°¡ ÁöÁ¤µÇ°í ÀÖÁö¸¸ ÆÐ½º°¡ »ó´ëÀÇ °æ¿ì, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàµÈ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì, ¶Ç´Â ij¸¯ÅÍ ¶óÀÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇÏÁö¸¸ ¼¹ö º£À̽ºÀÇ ±ÇÇÑÀ¸·Î¼ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ìpublic URI(String scheme, String authority, String path, String query, String fragment) throws URISyntaxException
schema°¡ ÁöÁ¤µÇ¾î ÇÑÃþ ´õ ÆÐ½ºµµ ÁöÁ¤µÇ´Â °æ¿ì´Â ÆÐ½º´Â ÇÏ´ÃÀ̳ª slash (/)·Î ½ÃÀÛµÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ÄÄÆÛ³ÍÆ®´Â ´ëÀÀÇÏ´Â ÆÄ¶ó¹ÌÅÍ¿¡ null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
ÃÖÃÊ·Î ÀÌ constructor Àº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ij¸¯ÅÍ ¶óÀÎÀ» ±¸ÃàÇÕ´Ï´Ù.
óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.
schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.
±ÇÇÑÀÌ ÁöÁ¤µÇ´Â °æ¿ì, ij¸¯ÅÍ ¶óÀÎ // ÀÌ Ãß°¡µÇ¾î, ±ÇÇÑÀÌ °è¼ÓµË´Ï´Ù. ±ÇÇÑÀ¸·Î ¸®ÅÍ·² IPv6 ÁÖ¼Ò°¡ Æ÷ÇԵǴ °æ¿ì, ±× ÁÖ¼Ò´Â ²©¼â¹À½ ([ ¹× ])À¸·Î µÑ·¯½Ò Çʿ䰡 ÀÖ½À´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼, ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .
ÆÐ½º°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× ÆÐ½º°¡ Ãß°¡µË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼, slash (/) ¶Ç´Â ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
Äí¿¡¸®-°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ (? )(ÀÌ)°¡ Ãß°¡µÇ¾î, Äí¿¡¸®-°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
¸¶Áö¸·À¸·Î, fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, ÇØ½Ã ±âÈ£ (#)°¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº °á°ú¿¡ ´ëÇØ¼ URI(String)
constructor¸¦ È£ÃâÇØ, ´ÙÀ½¿¡ parseServerAuthority()
¸Þ¼Òµå¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ, ÇØ¼®µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,URISyntaxException
°¡ ½½·Î¿ì µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
scheme
- schema¸íauthority
- 񀀥path
- ÆÐ½ºquery
- Äí¿¡¸®-fragment
- fragment
URISyntaxException
- schema¿Í ÆÐ½ºÀÇ ¾çÂÊ ¸ðµÎ°¡ ÁöÁ¤µÇ°í ÀÖÁö¸¸ ÆÐ½º°¡ »ó´ëÀÇ °æ¿ì, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàµÈ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì, ¶Ç´Â ij¸¯ÅÍ ¶óÀÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇÏÁö¸¸ ¼¹ö º£À̽ºÀÇ ±ÇÇÑÀ¸·Î¼ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ìpublic URI(String scheme, String host, String path, String fragment) throws URISyntaxException
ÄÄÆÛ³ÍÆ®´Â null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
ÀÌ °£ÀÌ constructor Àº ´ÙÀ½°ú °°ÀÌ 7 °³ÀÇ ÀμöÀÇ constructor¸¦ È£ÃâÇÏ´Â°Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
new URI
(scheme, null, host, -1, path, null, fragment);
scheme
- schema¸íhost
- È£½ºÆ®¸ípath
- ÆÐ½ºfragment
- fragment
URISyntaxException
- ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàÇÑ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ìpublic URI(String scheme, String ssp, String fragment) throws URISyntaxException
ÄÄÆÛ³ÍÆ®´Â null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.
ÃÖÃÊ·Î ÀÌ constructor Àº ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.
schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.
schema °íÀ¯ ºÎºÐÀÌ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema °íÀ¯ ºÎºÐÀÌ Ãß°¡µË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .
¸¶Áö¸·À¸·Î, fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, ÇØ½Ã ±âÈ£ (#)°¡ ij¸¯ÅÍ ¶óÀο¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.
°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº »õ·Î¿î URI ÀνºÅϽº¸¦ ÀÛ¼ºÇϱâ À§Çؼ,URI(String)
constructor¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ ÇØ¼®µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,URISyntaxException
°¡ ½½·Î¿ì µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.
scheme
- schema¸íssp
- schema °íÀ¯ ºÎºÐfragment
- fragment
URISyntaxException
- ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàÇÑ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì¸Þ¼ÒµåÀÇ »ó¼¼ |
public static URI create(String str)
ÀÌ °£ÀÌ ÆÑÅ丮 ¸Þ¼Òµå´Â URI(String)
constructor¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ µ¿ÀÛÇÕ´Ï´Ù. constructor À¸·ÎºÎÅÍ ½½·Î¿ì µÇ´Â URISyntaxException
´Â ¸ðµÎ ijġ µÇ¾î »õ·Î¿î IllegalArgumentException
¿ÀºêÁ§Æ®¿¡ ·¦ µÇ¾î ±× ÈÄ ½½·Î¿ì µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ À¯È¿ÇÑ URI ÀÎ °ÍÀÌ ±âÁ¸ÀÇ °æ¿ì (¿¹¸¦ µé¾î, ÇÁ·Î±×·¥³»¿¡¼ ¼±¾ðµÇ´Â URI Á¤¼ö)¿¡ »ç¿ëÇϱâ À§Çؼ Á¦°øµÇ°í ÀÖ½À´Ï´Ù. µû¶ó¼, ij¸¯ÅÍ ¶óÀÎÀÌ ÀÌ¿Í °°ÀÌ ÇØ¼®µÇÁö ¾ÊÀ¸¸é program error¶ó°í º¸¿©Áý´Ï´Ù. URISyntaxException
¸¦ Á÷Á¢ ½½·Î¿ì ÇÏ´Â constructor Àº URI °¡ À¯Àú ÀÔ·ÂÀ̳ª ¿¡·¯°¡ ¹ß»ýÇϱ⠽¬¿î ±× ¿ÜÀÇ ¼Ò½º·ÎºÎÅÍ ±¸ÃàµÇ´Â °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù.
str
- URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
NullPointerException
- str °¡ null ÀÇ °æ¿ì
IllegalArgumentException
- ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ìpublic URI parseServerAuthority() throws URISyntaxException
ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ¹ú½á ¼¹ö º£À̽ºÀÌ´Ù°í Àνĵǰí ÀÖ´Â °æ¿ì´Â ¹ú½á À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ ÇØ¼®µÇ°í ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ¶Ç´Â ÀÌ URI ¿¡ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ¾ø´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÌ URI ¸¦ µ¹·ÁÁÙ »ÓÀÔ´Ï´Ù.
±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±ÇÇÑ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ÀÇ ÇØ¼®À» Çѹø ´õ ½ÃµµÇØ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ ±×ó·³ ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø ÀÌÀ¯¸¦ ¼³¸íÇÏ´Â ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â ¡¸RFC 2396¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ÀÏ¹Ý URI ±¸¹®ÀÌ ¹«È¿ÀÎ ¼¹ö º£À̽º ±ÇÇѰú À¯È¿ÇÑ ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀ» ¹Ýµå½Ã ±¸º°ÇÒ ¼ö ¾ø±â À§ÇØ(¶§¹®¿¡) ÁغñµÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼, ¼¹ö º£À̽º ±ÇÇÑÀÇ ÀϺÎÀÇ ÀνºÅϽº¸¦ ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀÇ ÀνºÅϽº·Î¼ Ãë±ÞÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, URI ij¸¯ÅÍ ¶óÀÎ //foo:bar µîÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â À¯È¿ÇÑ ¼¹ö º£À̽º ±ÇÇÑÀÌ ¾Æ´Õ´Ï´Ù¸¸, ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀ¸·Î¼´Â À¯È¿ÇÕ´Ï´Ù.
URN ¶Ç´Â URL ÀÎ °ÍÀÌ ±âÁ¸ÀÇ URI ¸¦ »ç¿ëÇÏ´Â °Í °°Àº ¸¹Àº ÀϹÝÀûÀÎ »óȲ¿¡¼´Â »ç¿ëµÇ´Â °èÃþ URI ´Â Ç×»ó ¼¹ö º£À̽ºÀÔ´Ï´Ù. µû¶ó¼, ±×ó·³ ÇØ¼®ÇÏ´ÂÁö ¿¡·¯·Î¼ Ãë±ÞÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ´ÙÀ½°ú °°Àº ¹®ÀåÀº
URI u = new URI(str). parseServerAuthority();
u °¡ ÀûÀýÇÑ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â ¼¹ö º£À̽º ±ÇÇÑÀ» °¡Áö´Â URI (±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ °¡Áö´Â °æ¿ì)¸¦ Ç×»ó ÂüÁ¶Çϵµ·Ï(µíÀÌ) Çϱâ À§Çؼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ±ÇÇÑÀ» ±×ó·³ ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì¿¡, ½½·Î¿ì µÇ´Â ¿¹¿Ü¿¡ ±Ù°ÅÇØ ÀûÀýÇÑ Áø´Ü ¸Þ¼¼Áö¸¦ ¹ßÇàÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.
URISyntaxException
- ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÁöÁ¤µÇ°í ÀÖÁö¸¸, RFC 2396 ¿¡ µû¶ó ¼¹ö º£À̽º ±ÇÇÑÀ¸·Î¼ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ìpublic URI normalize()
ÀÌ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì, ¶Ç´Â ±× ÆÐ½º°¡ ¹ú½á Á¤±Ô Çü½ÄÀÎ °æ¿ì´Â ÀÌ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÀÌ URI ¿Í °°Àº »õ·Î¿î URI °¡ ±¸ÃàµË´Ï´Ù. ´Ù¸¸, ±× ÆÐ½º°¡¡¸RFC 2396 , section 5. 2, step 6, sub-steps c through f¡¹¿¡ ÀûÇÕÇÏ´Â ¹æ¹ýÀ¸·Î ÀÌ URI ÀÇ ÆÐ½º¸¦ Á¤±ÔÈÇØ ±¸ÇÒ ¼ö ÀÖ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
¸ðµç . ¼¼±×¸ÕÆ®(segment)°¡ »èÁ¦µË´Ï´Ù.
.. ¼¼±×¸ÕÆ®(segment)ÀÇ Àü¿¡.. (ÀÌ)°¡ ¾Æ´Ñ ¼¼±×¸ÕÆ®(segment)°¡ ÀÖ´Â °æ¿ì, ÀÌ·¯ÇÑ ¼¼±×¸ÕÆ®(segment)´Â ¾çÂÊ ¸ðµÎ »èÁ¦µË´Ï´Ù. ÀÌ ½ºÅÜÀº ÇØ´çÇÏ´Â °ÍÀÌ ¾ø¾îÁú ¶§±îÁö ¹Ýº¹ÇØÁý´Ï´Ù.
ÆÐ½º°¡ »ó´ë·Î, ÃÖÃÊÀÇ ¼¼±×¸ÕÆ®(segment)¿¡ ±¸µÎÁ¡ (:)ÀÌ Æ÷ÇԵǴ °æ¿ì,. ¼¼±×¸ÕÆ®(segment)°¡ Àü¿¡ Ãß°¡µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,a:b/c/d µîÀÇ ÆÐ½º¸¦ °¡Áö´Â »ó´ë URI °¡ ³ªÁß¿¡ a ÀÇ schema ¹× b/c/d ÀÇ schema °íÀ¯ ºÎºÐÀ» »ç¿ëÇØ ºÒÅõ¸í URI ·Î¼ ÀçÂ÷ ÇØ¼®µÇÁö ¾Ê°Ô ÇÕ´Ï´Ù (RFC 2396 ¸¦ º¯°æÇÑ °Í).
Á¤±ÔÈµÈ ÆÐ½º´Â »èÁ¦¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù .. (ÀÌ)°¡ ¾Æ´Ñ ¼±ÇàÀÇ ¼¼±×¸ÕÆ®(segment)°¡ ºÒÃæºÐÇß´ø °æ¿ì, 1 kr ÀÌ»óÀÇ .. ¼¼±×¸ÕÆ®(segment)·Î ½ÃÀ۵˴ϴÙ. Á¤±ÔÈµÈ ÆÐ½º´Â »ó±âÀÇ ½ºÅÜ 3 À¸·Î »ðÀÔ ÅëÁö °æ¿ì,. ¼¼±×¸ÕÆ®(segment)·Î ½ÃÀ۵˴ϴÙ. ±×·¸Áö ¾ÊÀº °æ¿ì, Á¤±ÔÈµÈ ÆÐ½º¿¡´Â . ¶Ç´Â .. ¼¼±×¸ÕÆ®(segment)´Â Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.
public URI resolve(URI uri)
ÁöÁ¤µÈ URI °¡ ¹ú½á Àý´ëÀÎ °æ¿ì, ¶Ç´Â ÀÌ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì´Â ÁöÁ¤µÈ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
ÁöÁ¤µÈ URI ÀÇ fragment ÄÄÆÛ³ÍÆ®°¡ Á¤ÀÇµÇ¾î ±× ÆÄ½ºÄÜÆ÷³ÙÆ®°¡ Çϴÿ¡¼, ±× schema, ±ÇÇÑ, ¹× Äí¿¡¸®-ÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â ÁöÁ¤µÈ fragment¸¦ °¡ÁöÁö¸¸ ´Ù¸¥ ¸ðµç ÄÄÆÛ³ÍÆ®°¡ ÀÌ URI ÀÇ ÄÄÆÛ³ÍÆ®¿Í µ¿ÀÏÇÑ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,#foo µîÀÇ ½ºÅĵå¾ó·Ð fragment ÂüÁ¶¸¦ ³ªÅ¸³»´Â URI ¸¦ º£À̽º URI ¿¡ ´ëÇØ¼ À¯È¿ÇÏ°Ô ÇØ°áÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.
±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¡¸RFC 2396 , section 5. 2¡¹¿¡ ÀûÇÕÇÏ´Â ¹æ¹ýÀ¸·Î »õ·Î¿î °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù. ÀÌ URI ÀÇ ½ºÅ´°ú ÁöÁ¤µÈ URI ÀÇ Äí¿¡¸®- ¹× fragment ÄÄÆÛ³ÍÆ®¸¦ »ç¿ëÇØ, »õ·Î¿î URI °¡ ±¸ÃàµË´Ï´Ù. ÁöÁ¤µÈ URI ¿¡ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â °æ¿ì, »õ·Î¿î URI ÀÇ ±ÇÇѰú ÆÐ½º´Â ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õĨ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÀÌ URI ·ÎºÎÅÍ Ä«ÇÇµÇ¾î ±× ÆÐ½º´Â ´ÙÀ½°ú °°ÀÌ ÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÁöÁ¤µÈ URI ÀÇ ÆÐ½º°¡ Àý´ëÀÇ °æ¿ì, »õ·Î¿î URI ÀÇ ÆÐ½º´Â ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õĨ´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÁöÁ¤µÈ URI ÀÇ ÆÐ½º´Â »ó´ë·Î, »õ·Î¿î URI ÀÇ ÆÐ½º´Â ÁöÁ¤µÈ URI ÀÇ ÆÐ½º¸¦ ÀÌ URI ÀÇ ÆÐ½º¿¡ ´ëÇØ¼ ÇØ°áÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ÀÌ URI ÀÇ ÆÐ½ºÀÇ ¸¶Áö¸· ¼¼±×¸ÕÆ®(segment) ÀÌ¿ÜÀÇ ¸ðµç ¼¼±×¸ÕÆ®(segment) (Á¸ÀçÇÏ´Â °æ¿ì)°¡ ÁöÁ¤µÈ URI ÀÇ ÆÐ½º¿Í ¿¬°áÇØ, ±× °á°ú¸¦ ÀÌ ¸Þ¼ÒµåÀÇ °á°ú´Â ÀÌ URI °¡ Àý´ëÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ URI °¡ Àý´ëÀÇ °æ¿ì¿¡¸¸, Àý´ë·Î µË´Ï´Ù.
normalize
¸Þ¼Òµå¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ Á¤±ÔÈÇÏ´Â °Í¿¡ ÀÇÇØ ÇàÇØÁý´Ï´Ù.
uri
- ÀÌ URI ¿¡ ´ëÇØ¼ ÇØ°áµÇ´Â URI
NullPointerException
- uri °¡ null ÀÇ °æ¿ì
public URI resolve(String str)
ÀÌ °£ÀÌ ¸Þ¼Òµå´Â ÀÌ ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ½Ä resolve
(new create
(str)) ÀÇ Æò°¡¿Í °°Àº°¡¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
str
- URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
NullPointerException
- str °¡ null ÀÇ °æ¿ì
IllegalArgumentException
- ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ìpublic URI relativize(URI uri)
ÁöÁ¤µÈ URI ÀÇ ÀÌ URI ¿¡ ´ëÇÑ »ó´ëÈ´Â ´ÙÀ½°ú °°ÀÌ ÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ URI ¶Ç´Â ÁöÁ¤µÈ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì, 2 °³ÀÇ URI ÀÇ schema¿Í ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ °°Áö ¾ÊÀº °æ¿ì, ¶Ç´Â ÀÌ URI ÀÇ ÆÐ½º°¡ ÁöÁ¤µÈ URI ÀÇ ÆÐ½ºÀÇ Á¢µÎ»ç°¡ ¾Æ´Ñ °æ¿ì´Â ÁöÁ¤µÈ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.
±×·¸Áö ¾ÊÀº °æ¿ì, ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õÄ£ Äí¿¡¸®- ¹× fragment ÄÄÆÛ³ÍÆ®¿Í ÁöÁ¤µÈ URI ÀÇ ÆÐ½ºÀÇ ¼±µÎ·ÎºÎÅÍ ÀÌ URI ÀÇ ÆÐ½º¸¦ »èÁ¦ÇØ ¿ä±¸ÇÑ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ »ç¿ëÇØ, »õ·Î¿î »ó´ë °èÃþ URI °¡ ±¸ÃàµË´Ï´Ù.
uri
- ÀÌ URI ¿¡ ´ëÇØ¼ »ó´ëȵǴ URI
NullPointerException
- uri °¡ null ÀÇ °æ¿ìpublic URL toURL() throws MalformedURLException
ÀÌ °£ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ÀÌ URI °¡ Àý´ëÀÎ °ÍÀ» È®ÀÎÇÏ°í ³ª¼, ÀÌ ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ½Ä new URL(this.toString()) ÀÇ Æò°¡¿Í °°Àº°¡¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
IllegalArgumentException
- ÀÌ URL °¡ Àý´ë°¡ ¾Æ´Ñ °æ¿ì
MalformedURLException
- URL ÀÇ ÇÁ·ÎÅäÄÝ Çڵ鷯¸¦ ¹ß°ßÇÒ ¼ö ¾ø¾ú´ø °æ¿ì, ¶Ç´Â URL ÀÇ ±¸Ãà½Ã¿¡ ´Ù¸¥ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ìpublic String getScheme()
URI ÀÇ schema ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ¡¸¿µ¼ýÀÚ¡¹Ä«Å×°í¸® ¹× ij¸¯ÅÍ ¶óÀÎ -. + ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ. schema´Â Ç×»ó ¡¸¿µ¹®ÀÚ¡¹·Î ½ÃÀ۵˴ϴÙ.
URI ÀÇ schema ÄÄÆÛ³ÍÆ®¿¡ À̽ºÄÉÀÌÇÁ octet ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ÀÌ ¸Þ¼Òµå´Â º¹È£È(decode)¸¦ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.
public boolean isAbsolute()
URI °¡ Àý´ëÀÎ °ÍÀº ±× URI ¿¡ schema ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â °æ¿ì¸¸ÀÔ´Ï´Ù.
public boolean isOpaque()
ºÒÅõ¸í URI ´Â schema ÄÄÆÛ³ÍÆ® À̿ܿ¡¼´Â ÇØ¼®µÇÁö ¾Ê½À´Ï´Ù. ºÒÅõ¸í URI ÀÇ ³ª¸ÓÁöÀÇ ºÎºÐÀº getSchemeSpecificPart
¸Þ¼Òµå¿¡ ÀÇÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¸ðµç ÄÄÆÛ³ÍÆ®´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù.
public String getRawSchemeSpecificPart()
URI ÀÇ schema °íÀ¯ ºÎºÐ¿¡´Â À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.
public String getSchemeSpecificPart()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawSchemeSpecificPart
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public String getRawAuthority()
URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ´Ü°¡ ±âÈ£ (@)¿Í ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ. ±ÇÇÑÀÌ ¼¹ö º£À̽ºÀÇ °æ¿ì´Â ÇÑÃþ ´õ À¯È¿ÇÑ À¯Àú Á¤º¸, È£½ºÆ®, Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.
public String getAuthority()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawAuthority
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public String getRawUserInfo()
URI ÀÇ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.
public String getUserInfo()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawUserInfo
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public String getHost()
URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ® (Á¤Àǵǰí ÀÖ´Â °æ¿ì)ÀÇ Çü½ÄÀº ´ÙÀ½ÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù.
ÇǸ®¾îµå (. )(À¸)·Î ±¸ºÐµÈ 1 kr ÀÌ»óÀÇ ¡¸label¡¹·Î ±¸¼ºµÇ´Â µµ¸ÞÀθí. ÀÓÀÇ·Î, ÇǸ®¾îµå°¡ °è¼ÓµÈ´Ù. °¢ label´Â ¡¸¿µ¼ýÀÚ¡¹Ä³¸¯ÅÍ¿Í ÇÏÀÌÇ (-)À¸·Î ±¸¼ºµË´Ï´Ù. ´Ù¸¸, ÇÏÀÌÇÂÀº labelÀÇ ÃÖÃÊ ¶Ç´Â ¸¶Áö¸· ij¸¯Åͷμ´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. µµ¸ÞÀθíÀÇ ¸¶Áö¸· label¸¸Àº ¡¸¿µ¹®ÀÚ¡¹Ä³¸¯ÅÍ·Î ½ÃÀ۵˴ϴÙ.
¼ýÀÚ+. ¼ýÀÚ+. ¼ýÀÚ+. ¼ýÀÚ+ ÀÇ Çü½ÄÀÇ, ´åÀ¸·Î 4 °³·Î ±¸ºÐµÈ IPv4 ÁÖ¼Ò. ¿©±â¼, ¼ýÀÚ´Â 3 ij¸¯ÅÍ À̳»¿¡¼, ±× °ªÀº 255 ¸¦ ³ÑÁö ¾Ê½À´Ï´Ù.
IPv6 ÁÖ¼Ò´Â ²©¼â¹À½ ([ ¹× ])À¸·Î µÑ·¯½Î¿© 16 Áø¼ö, ±¸µÎÁ¡ (:), ¹× ¾Æ¸¶ ÆÄ¹¯Èù IPv4 ÁÖ¼Ò·Î ±¸¼ºµË´Ï´Ù. IPv6 ÁÖ¼ÒÀÇ ¿ÏÀüÇÑ ±¸¹®Àº ¡¸RFC 2373: IPv6 Addressing Architecture¡¹·Î ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù.
public int getPort()
URI ÀÇ Æ÷Åä ÄÄÆÛ³ÍÆ®´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ºÎ°¡ ¾Æ´Ñ Á¤¼öÀÔ´Ï´Ù.
public String getRawPath()
URI ÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), slash (/), ´Ü°¡ ±âÈ£ (@)¿Í ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.
public String getPath()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawPath
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public String getRawQuery()
URI ÀÇ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.
public String getQuery()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawQuery
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public String getRawFragment()
URI ÀÇ fragment ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.
public String getFragment()
ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawFragment
¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼°¡ ¸ðµÎº¹È£È(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.
public boolean equals(Object ob)
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®°¡ URI °¡ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â Áï½Ã false ¸¦ µ¹·ÁÁÝ´Ï´Ù.
µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ URI ´Â ¾çÂÊ ¸ðµÎ ºÒÅõ¸íÇѰ¡, ¾çÂÊ ¸ðµÎ °èÃþÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯ÇÑ schema´Â ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ µ¿ÀÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯ÇÑ fragment¿¡ ´ëÇØ¼µµ °°½À´Ï´Ù.
µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ ºÒÅõ¸í URI ÀÇ °æ¿ì, ±×·¯ÇÑ schema °íÀ¯ ºÎºÐÀº µ¿ÀÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.
µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ °èÃþ URI ÀÇ °æ¿ì, ±×·¯ÇÑ ÆÐ½º´Â µ¿ÀÏÇϰí, ÈÖ¾îÁö°íÀÇ Äí¿¡¸®-´Â ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀº ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, ¾çÂÊ ¸ðµÎ ·¹Áö½ºÆ®¸® º£À̽ºÀΰ¡, ȤÀº ¾çÂÊ ¸ðµÎ ¼¹ö º£À̽º°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀÌ Á¤Àǵǰí ÀÖ¾î ·¹Áö½ºÆ®¸® º£À̽ºÀÇ °æ¿ì, ±×·¯ÇÑ ±ÇÇÑÀº µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀÌ Á¤Àǵǰí ÀÖ¾î ¼¹ö º£À̽ºÀÇ °æ¿ì, ±×·¯ÇÑ È£½ºÆ®´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ µ¿ÀÏÇϰí, ±×·¯ÇÑ Æ÷Åä ¹øÈ£´Â µ¿ÀÏÇϰí, ±×·¯ÇÑ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®´Â µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
2 °³ÀÇ URI ÀÇ À¯Àú Á¤º¸, ÆÐ½º, Äí¿¡¸®-, fragment, ±ÇÇÑ, ¶Ç´Â schema °íÀ¯ ºÎºÐÀÌ µ¿ÀÏÇÑÁö ¾î¶²Áö ÆÇÁ¤ÇÏ´Â °æ¿ì, ÀÌ·¯ÇÑ ÄÄÆÛ³ÍÆ®´Â encode µÈ Çü½ÄÀÌ ¾Æ´Ï°í ±×´ë·ÎÀÇ Çü½Ä¿¡¼ ºñ±³µÇ¾î À̽ºÄÉÀÌÇÁ octet ÀÇ 16 Áø¼ö´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ ºñ±³µË´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Object.equals
¸Þ¼ÒµåÀÇ ¹ü¿ë ±Ô¾àÀ» ä¿ó´Ï´Ù.
ob
- ÀÌ ¿ÀºêÁ§Æ®¿Í ºñ±³ÇÏ´Â ¿ÀºêÁ§Æ®
Object.hashCode()
,
Hashtable
public int hashCode()
Object.hashCode
¸Þ¼ÒµåÀÇ ¹ü¿ë ±Ô¾àÀ» ä¿ó´Ï´Ù.
Object.equals(java.lang.Object)
,
Hashtable
public int compareTo(Object ob)
2 °³ÀÇ URI ÀÇ ´ëÀÀÇÏ´Â ÄÄÆÛ³ÍÆ®¸¦ ºñ±³ÇÏ´Â °æ¿ì, ÄÄÆÛ³ÍÆ®ÀÇ ÇÑÆíÀÌ ¹ÌÁ¤µµ¸®·Î ÇÑÆíÀÌ Á¤Àǵǰí ÀÖÀ¸¸é(ÀÚ), ÀüÀÚ´Â ÈÄÀÚº¸´Ù ÀÛ´Ù°í º¸¿©Áý´Ï´Ù. ƯÈ÷ ¸í±âµÇ¾î ÀÖÁö ¾ÊÀº ÇÑ, ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â String.compareTo
¸Þ¼Òµå·Î Á¤Àǵǰí ÀÖ°Ô, º»·¡ÀÇ ´ë¹®ÀÚ ¼Ò¹®ÀÚ¸¦ ±¸º°ÇÑ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. encode µÇ´Â ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â encode µÈ Çü½ÄÀÌ ¾Æ´Ï°í ±×´ë·ÎÀÇ Çü½Ä¿¡¼ ºñ±³µË´Ï´Ù.
URI ÀÇ ¼ø¼´Â ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.
´Ù¸¥ schema¸¦ °¡Áö´Â 2 °³ÀÇ URI ´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ ±×·¯ÇÑ schemaÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
°èÃþ URI ´Â °°Àº schema¸¦ °¡Áö´Â ºÒÅõ¸í URI º¸´Ù ÀÛ´Ù°í º¸¿©Áý´Ï´Ù.
°°Àº schema¸¦ °¡Áö´Â 2 °³ÀÇ ºÒÅõ¸í URI ´Â ±×·¯ÇÑ schema °íÀ¯ ºÎºÐÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
°°Àº schema¿Í schema °íÀ¯ ºÎºÐÀ» °¡Áö´Â 2 °³ÀÇ ºÒÅõ¸í URI ´Â ±×·¯ÇÑ fragmentÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
°°Àº schema¸¦ °¡Áö´Â 2 °³ÀÇ °èÃþ URI ´Â ±×·¯ÇÑ ±ÇÇÑ ÄÄÆÛ³ÍÆ®ÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
¾çÂÊ ¸ðµÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ¼¹ö º£À̽ºÀÎ °æ¿ì, URI ´Â ±×·¯ÇÑ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ÄÄÆÛ³ÍÆ®°¡ °°Àº °æ¿ì, URI ´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ ±×·¯ÇÑ È£½ºÆ®ÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. È£½ºÆ®°¡ °°Àº °æ¿ì, URI ´Â ±×·¯ÇÑ Æ÷ÅäÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÇÑÆí ¶Ç´Â ¾çÂÊ ¸ðµÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ·¹Áö½ºÆ®¸® º£À̽ºÀÎ °æ¿ì, URI ´Â ±×·¯ÇÑ ±ÇÇÑ ÄÜÆ÷³ÙÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
¸¶Áö¸·À¸·Î, °°Àº schema¿Í ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ °¡Áö´Â 2 °³ÀÇ °èÃþ URI ´Â ±×·¯ÇÑ ÆÐ½ºÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ÆÐ½º°¡ °°Àº °æ¿ì, ÇϴõîÀÇ °èÃþ URI ´Â ±×·¯ÇÑ Äí¿¡¸®-ÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. Äí¿¡¸®-°¡ °°Àº °æ¿ì´Â ±×·¯ÇÑ fragmentÀÇ ¼ø¼¿¡ µû¶ó ¼ø¼ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¸Þ¼Òµå´Â Comparable.compareTo
¸Þ¼ÒµåÀÇ ¹ü¿ë ±Ô¾àÀ» ä¿ó´Ï´Ù.
Comparable
³»ÀÇ compareTo
ob
- ÀÌ URI ¿Í ºñ±³ÇÏ´Â ¿ÀºêÁ§Æ®
ClassCastException
- ÁöÁ¤µÈ ¿ÀºêÁ§Æ®°¡ URI °¡ ¾Æ´Ñ °æ¿ìpublic String toString()
ÀÌ URI °¡ ÀÌ Å¬·¡½ºÀÇ constructor ÀÇ 1 °³¸¦ È£ÃâÇØ ÀÛ¼ºµÇ¾úÀ» °æ¿ì´Â ¿øÀÇ ÀԷ ij¸¯ÅÍ ¶óÀο¡ µ¿ÀÏÇÑ Ä³¸¯ÅÍ ¶óÀÎ, ¶Ç´Â ´çÃÊ·Î ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ¿ä±¸ÇÑ Ä³¸¯ÅÍ ¶óÀÎ (ÀûÀýÇÑ °æ¿ì)¿¡ µ¿ÀÏÇÑ Ä³¸¯ÅÍ ¶óÀÎÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ URI ´Â Á¤±ÔÈ, ÇØ°á, ¶Ç´Â »ó´ëÈ¿¡ ÀÇÇØ ÀÛ¼ºµÇ°í ÀÖ½À´Ï´Ù. µû¶ó¼, ij¸¯ÅÍ ¶óÀÎÀº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÀÌ URI ÀÇ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàµË´Ï´Ù.
public String toASCIIString()
ÀÌ URI ¿¡ ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇÔµÇÁö ¾ÊÀº °æ¿ì´Â ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ) toString
¸Þ¼Òµå¸¦ È£ÃâÇßÀ» ¶§¿Í °°Àº °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±× ¸Þ¼Òµå¸¦ È£ÃâÇØ °á°ú¸¦encode ÇÏ´Â°Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
ÀüÀÇ Å¬·¡½º ´ÙÀ½ÀÇ Å¬·¡½º | ÇÁ·¹ÀÓ ÀÖ¾î ÇÁ·¹ÀÓ ¾øÀ½ | ||||||||||
°³¿ä: »óÀÚ | Çʵå | constructor | ¸Þ¼Òµå | »ó¼¼: Çʵå | constructor | ¸Þ¼Òµå |
Java, Java 2 D, ¹× JDBC ´Â ¹Ì±¹ ¹× ±× ¿ÜÀÇ ³ª¶ó¿¡ ÀÖ¾î¼ÀÇ ¹Ì±¹ Sun Microsystems, Inc. ÀÇ »óÇ¥ ȤÀº µî·Ï»óÇ¥ÀÔ´Ï´Ù.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.