JavaTM 2
Platform
Std.  Ed.  v1. 4.0

java.net
Ŭ·¡½º URI

java.lang.Object 
  |
  +--java.net.URI
¸ðµç ±¸Çö ÀÎÅÍÆäÀ̽º:
Comparable , Serializable

public final class URI
extends Object
implements Comparable , Serializable

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 ÀνºÅϽº¸¦ Á¤±ÔÈ­, ÇØ°á, »ó´ëÈ­Çϱâ À§ÇÑ ¸Þ¼Òµå¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.

URI ±¸¹®°ú ÄÄÆÛ³ÍÆ®

ÃÖ°íÁ¤µµ ·¹º§ÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ URI ÂüÁ¶ (ÀÌÈÄ´Â ´ÜÁö ¡¸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 °³ÀÇ ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù.

ÄÄÆÛ³ÍÆ® ŸÀÔ
schema String
schema °íÀ¯ ºÎºÐ      String
񀀥 String
À¯Àú Á¤º¸ String
È£½ºÆ® String
Æ÷Åä int
ÆÐ½º String
Äí¿¡¸®- String
fragment String
ÁöÁ¤µÈ ÀνºÅϽº¿¡¼­´Â ¾î´À ƯÁ¤ÀÇ ÄÄÆÛ³ÍÆ®µµ ¡¸¹ÌÁ¤µµ¸®¡¹Àΰ¡ ¡¸Á¤Àǰ¡ ³¡³­ »óÅ¡¹À̸ç, °³º°ÀÇ ÇüÅÂÀÇ °ªÀ» °¡Áý´Ï´Ù. ¹ÌÁ¤µµ¸®ÀÇ Ä³¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â null ·Î ³ªÅ¸³»Á® Á¤ÀÇ ³¡³­ Á¤¼ö ÄÄÆÛ³ÍÆ®´Â -1 À¸·Î ³ªÅ¸³»Áý´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â °ªÀ¸·Î ÇØ¼­ ÇÏ´ÃÀÇ Ä³¸¯ÅÍ ¶óÀÎÀ» °¡Áöµµ·Ï(µíÀÌ) Á¤ÀÇÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ±× ÄÄÆÛ³ÍÆ®°¡ ¹ÌÁ¤µµ¸®ÀÎ °ÍÀ¸·Î µ¿µîÇÏÁö´Â ¾Ê½À´Ï´Ù.

ƯÁ¤ÀÇ ÄÄÆÛ³ÍÆ®°¡ ÀνºÅϽº·Î Á¤ÀǺô·ÁÁÖ¾îÁöÁö ¾ÊÀº°¡´Â Ç¥ÇöµÇ´Â URI ÀÇ Å¸ÀÔ¿¡ ÀÇÇØ ´Ù¸¨´Ï´Ù. Àý´ë URI ¿¡´Â schema ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù. ºÒÅõ¸í URI ¿¡´Â schema, schema °íÀ¯ ºÎºÐ, ¹× ¾Æ¸¶ fragment°¡ ÀÖ½À´Ï´Ù¸¸, ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®´Â ¾ø½À´Ï´Ù. °èÃþ URI ¿¡´Â Ç×»ó ÆÐ½º (´Ù¸¸ ºñ¾úÀ» °æ¿ì ÀÖ¾î) ¹× schema °íÀ¯ ºÎºÐ (Àû¾îµµ ÆÐ½º¸¦ Æ÷ÇÔÇÑ´Ù)ÀÌ ÀÖ¾î, ÇÑÃþ ´õ ±× ¿ÜÀÇ ÄÄÆÛ³ÍÆ®Áß ÇÑÂÊÀÌ ÀÖ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇϰí ÀÖ¾î ¼­¹ö º£À̽ºÀÎ °æ¿ì, È£½ºÆ® ÄÄÆÛ³ÍÆ®´Â Á¤Àǵ˴ϴÙ. À¯Àú Á¤º¸¿Í Æ÷Åä ÄÄÆÛ³ÍÆ®´Â Á¤ÀǵǴ °æ¿ìµµ ÀÖ½À´Ï´Ù.

URI ÀνºÅϽºÀÇ Á¶ÀÛ

ÀÌ Å¬·¡½º¿¡¼­ ¼­Æ÷Æ®µÇ´Â ÁÖ¿äÇÑ Á¶ÀÛÀº ¡¸Á¤±ÔÈ­¡¹, ¡¸Çذ᡹, ¹× ¡¸»ó´ëÈ­¡¹ÀÔ´Ï´Ù.

¡¸Á¤±ÔÈ­¡¹´Â °èÃþ 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)   ¹×
u. resolve(u. relativize(v)). equals(v)  °¡ µË´Ï´Ù.
ÀÌ Á¶ÀÛÀº °¡´ÉÇÏ¸é ¾îµð¼­¿¡¼­µµ, ¹®¼­ÀÇ º£À̽º URI ¿¡ ´ëÇØ¼­ »ó´ëÀûÀÌ ¾Æ´Ï¸é ¾ÈµÇ´Â URI ¸¦ Æ÷ÇÔÇÑ ¹®¼­¸¦ ±¸ÃàÇÏ´Â °æ¿ì¿¡ Æí¸®ÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ÀÇ URI
http://java.sun.com/j2se/1. 3/docs/guide/index.html
(À»)¸¦ ´ÙÀ½ÀÇ º£À̽º URI ¿¡ ´ëÇØ¼­ »ó´ëÈ­Çϸé(ÀÚ),
http://java.sun.com/j2se/1. 3
»ó´ë URI docs/guide/index.html °¡ »ý¼ºµË´Ï´Ù.

ij¸¯ÅÍ Ä«Å×°í¸®

URI ÂüÁ¶ÀÇ °¢Á¾ ÄÄÆÛ³ÍÆ®·Î Çã°¡µÇ´Â ij¸¯ÅÍ´Â RFC 2396 ·Î ¾ö¹ÐÇÏ°Ô ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ Ä«Å×°í¸®¸¦ »ç¿ëÇØ, ÀÌ Á¦¾à¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Ä«Å×°í¸®ÀÇ ´ëºÎºÐÀº ±× »ç¾çÀ¸·ÎºÎÅÍ ³õÄ¡°í ÀÖ½À´Ï´Ù.
¿µ¹®ÀÚ 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 À» º¯°æÇÑ °Í)

¡¸¹Ì¿¹¾à¡¹, ¡¸¿¹¾à¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä³¸¯ÅÍ·Î ±¸¼ºµÇ´Â ¸ðµç À¯È¿ÇÑ URI ij¸¯Åͼ¼Æ®

À̽ºÄÉÀÌÇÁ octet, ÀοëºÎÈ£, encode, ¹× º¹È£È­(decode)

RFC 2396 ¿¡¼­´Â À̽ºÄÉÀÌÇÁ octet ¸¦ À¯Àú Á¤º¸, ÆÐ½º, Äí¿¡¸®-, ¹× fragmentÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ Ç¥½ÃÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̽ºÄÉÀÌÇÁ´Â ´ÙÀ½ÀÇ 2 °³ÀÇ ¸ñÀûÀ» À§Çؼ­(¶§¹®¿¡) URI ·Î »ç¿ëµË´Ï´Ù. ÀÌ Å¬·¡½º¿¡¼­´Â ´ÙÀ½ÀÇ 3 °³ÀÇ °ü·ÃÇÏ´Â Á¶ÀÛ¿¡ ÀÇÇØ ÀÌ·¯ÇÑ ¸ñÀûÀÌ ¼öÇàµË´Ï´Ù. ÀÌ·¯ÇÑ Á¶ÀÛÀº ´ÙÀ½¿¡ ³ªÅ¸³»µµ·Ï(µíÀÌ), ÀÌ Å¬·¡½ºÀÇ constructor °ú ¸Þ¼Òµå·Î °ø°³µË´Ï´Ù.

¾ÆÀ̵§Æ¼Æ¼

ÀÓÀÇÀÇ 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. getUserInfo(),  u. getAuthority(),
        
u. getPath(),  u. getQuery(),
        
u. getFragment())
. equals(
u)
u °¡ °èÃþÀÇ °æ¿ì
new URI(u. getScheme(),
        
u. getUserInfo(),  u. getHost(),  u. getPort(),
        
u. getPath(),  u. getQuery(),
        
u. getFragment())
. equals(
u)
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 ÀÇ ¿¹ÀÔ´Ï´Ù.

URI ¿Í URL ÀÇ °³³ä»óÀÇ ±¸º°Àº ÀÌ Å¬·¡½º¿Í URL Ŭ·¡½ºÀÇ »çÀÌÀÇ »óÀ§¿¡ ¹Ý¿µµÇ°í ÀÖ½À´Ï´Ù.

ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â RFC 2396 ·Î Á¤Àǵǰí ÀÖ´Â ±¸¹®ÀûÀÎ Àǹ̿¡¼­ÀÇ URI ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. URI ´Â Àý´ë¿¡¼­µµ »ó´ë¿¡¼­µµ ±¦Âú½À´Ï´Ù. URI ij¸¯ÅÍ ¶óÀÎÀº ÀÏ¹Ý ±¸¹®¿¡ µû¶ó ÇØ¼®µÇ¾î ÁöÁ¤µÈ schema°¡ À־ °í·ÁÇÏÁö ¾Ê½À´Ï´Ù. È£½ºÆ®ÀÇ ÂüÁ¶´Â À־ ½ÇÇàµÇÁö ¾Ê°í schema ÀÇÁ¸ÀÇ ½ºÆ®¸² Çڵ鷯´Â ±¸ÃàµÇÁö ¾Ê½À´Ï´Ù. µ¿µî¼º, ÇØ½Ã, ¹× ºñ±³´Â ÀνºÅϽºÀÇ Ä³¸¯ÅÍ ³»¿ë¿¡ ÀÇÇØ ¾ö¹ÐÇÏ°Ô Á¤Àǵ˴ϴÙ. Áï, URI ÀνºÅϽº´Â ºñ±³, Á¤±ÔÈ­, ÇØ°á, ¹× »ó´ëÈ­ÀÇ ±¸¹®ÀûÀÎ, schema¿¡ ÀÇÁ¸ÇÏÁö ¾Ê´Â Á¶ÀÛÀ» ¼­Æ÷Æ®ÇÏ´Â ±¸Á¶È­ ij¸¯ÅÍ ¶óÀο¡ Áö³ªÁö ¾Ê½À´Ï´Ù.

´ëÁ¶ÀûÀ¸·Î,URL Ŭ·¡½ºÀÇ ÀνºÅϽº´Â URL ÀÇ ±¸¹®Àû ÄÄÆÛ³ÍÆ®, ¹× URL °¡ ±â¼úÇÏ´Â ¸®¼Ò½º¿¡ÀÇ ¾×¼¼½º¿¡ ÇÊ¿äÇÑ Á¤º¸ÀÇ ÀϺθ¦ ³ªÅ¸³À´Ï´Ù. URL ´Â Àý´ëÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. Áï, Ç×»ó schema¸¦ ÁöÁ¤ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. URL ij¸¯ÅÍ ¶óÀÎÀº ±× schema¿¡ µû¶ó ÇØ¼®µË´Ï´Ù. ½ºÆ®¸² Çڵ鷯´Â Ç×»ó URL ¿ëÀ¸·Î È®¸³µÇ¾î »ç½Ç, Çڵ鷯¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â schemaÀÇ URL ÀνºÅϽº¸¦ ÀÛ¼ºÇÒ ¼ö ¾ø½À´Ï´Ù. µ¿µî¼º°ú ÇØ½Ã´Â ¸¸¾à ÀÖÀ¸¸é, schema¿Í È£½ºÆ®ÀÇ ÀÎÅÍ³Ý ÁÖ¼ÒÀÇ ¾çÂÊ ¸ðµÎ¿¡ ÀÇÁ¸ÇÕ´Ï´Ù. ºñ±³´Â Á¤ÀǵÇÁö ¾Ê½À´Ï´Ù. Áï, URL ´Â ÇØ°áÀÇ ±¸¹®Àû Á¶ÀÛ°ú È£½ºÆ®¸¦ ÂüÁ¶ÇØ, ÁöÁ¤µÈ ¸®¼Ò½º¿¡ÀÇ Á¢¼ÓÀ» ¿©´Â ³×Æ®¿öÅ© ÀÔÃâ·Â Á¶ÀÛÀ» ¼­Æ÷Æ®ÇÏ´Â ±¸Á¶È­ ij¸¯ÅÍ ¶óÀÎÀÔ´Ï´Ù.

µµÀÔµÈ ¹öÁ¯:
1.4
°ü·Ã Ç׸ñ:
¡¸RFC 2279: UTF-8, a transformation format of ISO 10646¡¹,
¡¸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
 

»ý¼ºÀÚÀÇ »ó¼¼

URI

public URI(String  str)
    throws URISyntaxException 
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÀÌ constructor Àº ¡¸RFC 2396 , Appendix A¡¹ÀÇ ¹®¹ýÀ¸·Î ¾ö¹ÐÇÏ°Ô ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇÕ´Ï´Ù. ´Ù¸¸, ´ÙÀ½ÀÇ Á¡ÀÌ ´Ù¸¨´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
str - URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
¿¹¿Ü:
NullPointerException - str °¡ null ÀÇ °æ¿ì
URISyntaxException - »ó±âÀÇ º¯°æÀ¸·Î Ãß°¡µÈ °Íó·³, ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇϰí ÀÖ´Â °æ¿ì

URI

public URI(String  scheme,
           String  userInfo,
           String  host,
           int port,
           String  path,
           String  query,
           String  fragment)
    throws URISyntaxException 
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

schema°¡ ÁöÁ¤µÇ¾î ÇÑÃþ ´õ ÆÐ½ºµµ ÁöÁ¤µÇ´Â °æ¿ì´Â ÆÐ½º´Â ÇÏ´ÃÀ̳ª slash (/)·Î ½ÃÀÛµÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ÄÄÆÛ³ÍÆ®´Â ´ëÀÀÇÏ´Â ÆÄ¶ó¹ÌÅÍ¿¡ null ¸¦ °Ç³×ÁÖ´ÂÁö port ÆÄ¶ó¹ÌÅÍÀÇ °æ¿ì´Â -1 À» °Ç³×ÁÖ¾î, ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÃÖÃÊ·Î ÀÌ constructor Àº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ij¸¯ÅÍ ¶óÀÎÀ» ±¸ÃàÇÕ´Ï´Ù.

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.

  2. schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.

  3. À¯Àú Á¤º¸, È£½ºÆ®, ¶Ç´Â Æ÷Åä°¡ ÁöÁ¤µÇ´Â °æ¿ì´Â ij¸¯ÅÍ ¶óÀÎ // ÀÌ Ãß°¡µË´Ï´Ù.

  4. À¯Àú Á¤º¸°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× À¯Àú Á¤º¸°¡ Ãß°¡µÇ¾î, ´Ü°¡ ±âÈ£ (@)°¡ °è¼ÓµË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø´Â ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .

  5. È£½ºÆ®°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× È£½ºÆ®°¡ Ãß°¡µË´Ï´Ù. ±× È£½ºÆ®°¡ ¸®ÅÍ·² IPv6 ÁÖ¼Ò·Î, ²©¼â¹­À½ ([ ¹× ])À¸·Î µÑ·¯½ÎÀÌÁö ¾ÊÀº °æ¿ì, ²©¼â¹­À½ÀÌ Ãß°¡µË´Ï´Ù.

  6. Æ÷Åä ¹øÈ£°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±¸µÎÁ¡ (:)ÀÌ Ãß°¡µÇ¾î 10 Áø¼öÀÇ Æ÷Åä ¹øÈ£°¡ °è¼ÓµË´Ï´Ù.

  7. ÆÐ½º°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× ÆÐ½º°¡ Ãß°¡µË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼­, slash (/) ¶Ç´Â ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

  8. Äí¿¡¸®-°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ (? )(ÀÌ)°¡ Ãß°¡µÇ¾î, Äí¿¡¸®-°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

  9. ¸¶Áö¸·À¸·Î, 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¸¯ÅÍ ¶óÀÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇÏÁö¸¸ ¼­¹ö º£À̽ºÀÇ ±ÇÇÑÀ¸·Î¼­ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì

URI

public URI(String  scheme,
           String  authority,
           String  path,
           String  query,
           String  fragment)
    throws URISyntaxException 
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

schema°¡ ÁöÁ¤µÇ¾î ÇÑÃþ ´õ ÆÐ½ºµµ ÁöÁ¤µÇ´Â °æ¿ì´Â ÆÐ½º´Â ÇÏ´ÃÀ̳ª slash (/)·Î ½ÃÀÛµÉ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ÄÄÆÛ³ÍÆ®´Â ´ëÀÀÇÏ´Â ÆÄ¶ó¹ÌÅÍ¿¡ null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÃÖÃÊ·Î ÀÌ constructor Àº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ij¸¯ÅÍ ¶óÀÎÀ» ±¸ÃàÇÕ´Ï´Ù.

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.

  2. schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.

  3. ±ÇÇÑÀÌ ÁöÁ¤µÇ´Â °æ¿ì, ij¸¯ÅÍ ¶óÀÎ // ÀÌ Ãß°¡µÇ¾î, ±ÇÇÑÀÌ °è¼ÓµË´Ï´Ù. ±ÇÇÑÀ¸·Î ¸®ÅÍ·² IPv6 ÁÖ¼Ò°¡ Æ÷ÇԵǴ °æ¿ì, ±× ÁÖ¼Ò´Â ²©¼â¹­À½ ([ ¹× ])À¸·Î µÑ·¯½Ò Çʿ䰡 ÀÖ½À´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼­, ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .

  4. ÆÐ½º°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× ÆÐ½º°¡ Ãß°¡µË´Ï´Ù. ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¶Ç´Â ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®¿¡ ¾ø¾î¼­, slash (/) ¶Ç´Â ´Ü°¡ ±âÈ£ (@)¿¡ µ¿ÀÏÇÏÁö ¾ÊÀº ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

  5. Äí¿¡¸®-°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ (? )(ÀÌ)°¡ Ãß°¡µÇ¾î, Äí¿¡¸®-°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

  6. ¸¶Áö¸·À¸·Î, 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¸¯ÅÍ ¶óÀÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ Á¸ÀçÇÏÁö¸¸ ¼­¹ö º£À̽ºÀÇ ±ÇÇÑÀ¸·Î¼­ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì

URI

public URI(String  scheme,
           String  host,
           String  path,
           String  fragment)
    throws URISyntaxException 
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÄÄÆÛ³ÍÆ®´Â null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÀÌ °£ÀÌ constructor Àº ´ÙÀ½°ú °°ÀÌ 7 °³ÀÇ ÀμöÀÇ constructor¸¦ È£ÃâÇÏ´Â°Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.

new URI (scheme,  null,  host,  -1,  path,  null,  fragment);

ÆÄ¶ó¹ÌÅÍ:
scheme - schema¸í
host - È£½ºÆ®¸í
path - ÆÐ½º
fragment - fragment
¿¹¿Ü:
URISyntaxException - ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàÇÑ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì

URI

public URI(String  scheme,
           String  ssp,
           String  fragment)
    throws URISyntaxException 
ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÄÄÆÛ³ÍÆ®´Â null ¸¦ °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

ÃÖÃÊ·Î ÀÌ constructor Àº ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®¸¦ »ç¿ëÇØ ij¸¯ÅÍ ¶óÀÎ Çü½Ä¿¡¼­ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº ÇÏ´ÃÀÔ´Ï´Ù.

  2. schema°¡ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema´Â °á°ú¿¡ Ãß°¡µÇ¾î ±¸µÎÁ¡ (:)ÀÌ °è¼ÓµË´Ï´Ù.

  3. schema °íÀ¯ ºÎºÐÀÌ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema °íÀ¯ ºÎºÐÀÌ Ãß°¡µË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù .

  4. ¸¶Áö¸·À¸·Î, fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, ÇØ½Ã ±âÈ£ (#)°¡ ij¸¯ÅÍ ¶óÀο¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµË´Ï´Ù. À¯È¿ÇÑ URI ij¸¯ÅͰ¡ ¾Æ´Ñ ij¸¯ÅÍ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº »õ·Î¿î URI ÀνºÅϽº¸¦ ÀÛ¼ºÇϱâ À§Çؼ­,URI(String) constructor¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ ÇØ¼®µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,URISyntaxException °¡ ½½·Î¿ì µÇ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
scheme - schema¸í
ssp - schema °íÀ¯ ºÎºÐ
fragment - fragment
¿¹¿Ü:
URISyntaxException - ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàÇÑ URI ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì
¸Þ¼ÒµåÀÇ »ó¼¼

create

public static URI  create(String  str)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ URI ¸¦ ÀÛ¼ºÇÕ´Ï´Ù.

ÀÌ °£ÀÌ ÆÑÅ丮 ¸Þ¼Òµå´Â URI(String) constructor¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ µ¿ÀÛÇÕ´Ï´Ù. constructor À¸·ÎºÎÅÍ ½½·Î¿ì µÇ´Â URISyntaxException ´Â ¸ðµÎ ijġ µÇ¾î »õ·Î¿î IllegalArgumentException ¿ÀºêÁ§Æ®¿¡ ·¦ µÇ¾î ±× ÈÄ ½½·Î¿ì µË´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ À¯È¿ÇÑ URI ÀÎ °ÍÀÌ ±âÁ¸ÀÇ °æ¿ì (¿¹¸¦ µé¾î, ÇÁ·Î±×·¥³»¿¡¼­ ¼±¾ðµÇ´Â URI Á¤¼ö)¿¡ »ç¿ëÇϱâ À§Çؼ­ Á¦°øµÇ°í ÀÖ½À´Ï´Ù. µû¶ó¼­, ij¸¯ÅÍ ¶óÀÎÀÌ ÀÌ¿Í °°ÀÌ ÇØ¼®µÇÁö ¾ÊÀ¸¸é program error¶ó°í º¸¿©Áý´Ï´Ù. URISyntaxException ¸¦ Á÷Á¢ ½½·Î¿ì ÇÏ´Â constructor Àº URI °¡ À¯Àú ÀÔ·ÂÀ̳ª ¿¡·¯°¡ ¹ß»ýÇϱ⠽¬¿î ±× ¿ÜÀÇ ¼Ò½º·ÎºÎÅÍ ±¸ÃàµÇ´Â °æ¿ì¿¡ »ç¿ëÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
str - URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
»õ·Î¿î URI
¿¹¿Ü:
NullPointerException - str °¡ null ÀÇ °æ¿ì
IllegalArgumentException - ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì

parseServerAuthority

public URI  parseServerAuthority()
                         throws URISyntaxException 
ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ® (Á¤Àǵǰí ÀÖ´Â °æ¿ì)·ÎºÎÅÍ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ÀÇ ÇØ¼®À» ½ÃµµÇÕ´Ï´Ù.

ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ¹ú½á ¼­¹ö º£À̽ºÀÌ´Ù°í Àνĵǰí ÀÖ´Â °æ¿ì´Â ¹ú½á À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ ÇØ¼®µÇ°í ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ¶Ç´Â ÀÌ URI ¿¡ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ¾ø´Â °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ÀÌ URI ¸¦ µ¹·ÁÁÙ »ÓÀÔ´Ï´Ù.

±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±ÇÇÑ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®¿¡ÀÇ ÇØ¼®À» Çѹø ´õ ½ÃµµÇØ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ ±×ó·³ ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø ÀÌÀ¯¸¦ ¼³¸íÇÏ´Â ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â ¡¸RFC 2396¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ÀÏ¹Ý URI ±¸¹®ÀÌ ¹«È¿ÀÎ ¼­¹ö º£À̽º ±ÇÇѰú À¯È¿ÇÑ ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀ» ¹Ýµå½Ã ±¸º°ÇÒ ¼ö ¾ø±â À§ÇØ(¶§¹®¿¡) ÁغñµÇ¾î ÀÖ½À´Ï´Ù. µû¶ó¼­, ¼­¹ö º£À̽º ±ÇÇÑÀÇ ÀϺÎÀÇ ÀνºÅϽº¸¦ ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀÇ ÀνºÅϽº·Î¼­ Ãë±ÞÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, URI ij¸¯ÅÍ ¶óÀÎ //foo:bar µîÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â À¯È¿ÇÑ ¼­¹ö º£À̽º ±ÇÇÑÀÌ ¾Æ´Õ´Ï´Ù¸¸, ·¹Áö½ºÆ®¸® º£À̽º ±ÇÇÑÀ¸·Î¼­´Â À¯È¿ÇÕ´Ï´Ù.

URN ¶Ç´Â URL ÀÎ °ÍÀÌ ±âÁ¸ÀÇ URI ¸¦ »ç¿ëÇÏ´Â °Í °°Àº ¸¹Àº ÀϹÝÀûÀÎ »óȲ¿¡¼­´Â »ç¿ëµÇ´Â °èÃþ URI ´Â Ç×»ó ¼­¹ö º£À̽ºÀÔ´Ï´Ù. µû¶ó¼­, ±×ó·³ ÇØ¼®ÇÏ´ÂÁö ¿¡·¯·Î¼­ Ãë±ÞÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, ´ÙÀ½°ú °°Àº ¹®ÀåÀº

URI u = new URI(str). parseServerAuthority();

u °¡ ÀûÀýÇÑ À¯Àú Á¤º¸, È£½ºÆ®, ¹× Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â ¼­¹ö º£À̽º ±ÇÇÑÀ» °¡Áö´Â URI (±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ °¡Áö´Â °æ¿ì)¸¦ Ç×»ó ÂüÁ¶Çϵµ·Ï(µíÀÌ) Çϱâ À§Çؼ­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç, ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ), ±ÇÇÑÀ» ±×ó·³ ÇØ¼®ÇÒ ¼ö ¾ø¾ú´ø °æ¿ì¿¡, ½½·Î¿ì µÇ´Â ¿¹¿Ü¿¡ ±Ù°ÅÇØ ÀûÀýÇÑ Áø´Ü ¸Þ¼¼Áö¸¦ ¹ßÇàÇϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¹Ýȯ°ª:
±ÇÇÑ Çʵ尡 ¼­¹ö º£À̽º ±ÇÇÑÀ¸·Î¼­ ÇØ¼®µÈ URI
¿¹¿Ü:
URISyntaxException - ÀÌ URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÁöÁ¤µÇ°í ÀÖÁö¸¸, RFC 2396 ¿¡ µû¶ó ¼­¹ö º£À̽º ±ÇÇÑÀ¸·Î¼­ ÇØ¼®ÇÒ ¼ö ¾ø´Â °æ¿ì

normalize

public URI  normalize()
ÀÌ URI ÀÇ ÆÐ½º¸¦ Á¤±ÔÈ­ÇÕ´Ï´Ù.

ÀÌ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì, ¶Ç´Â ±× ÆÐ½º°¡ ¹ú½á Á¤±Ô Çü½ÄÀÎ °æ¿ì´Â ÀÌ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì´Â ÀÌ URI ¿Í °°Àº »õ·Î¿î URI °¡ ±¸ÃàµË´Ï´Ù. ´Ù¸¸, ±× ÆÐ½º°¡¡¸RFC 2396 , section 5. 2, step 6, sub-steps c through f¡¹¿¡ ÀûÇÕÇÏ´Â ¹æ¹ýÀ¸·Î ÀÌ URI ÀÇ ÆÐ½º¸¦ Á¤±ÔÈ­ÇØ ±¸ÇÒ ¼ö ÀÖ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

  1. ¸ðµç . ¼¼±×¸ÕÆ®(segment)°¡ »èÁ¦µË´Ï´Ù.

  2. .. ¼¼±×¸ÕÆ®(segment)ÀÇ Àü¿¡.. (ÀÌ)°¡ ¾Æ´Ñ ¼¼±×¸ÕÆ®(segment)°¡ ÀÖ´Â °æ¿ì, ÀÌ·¯ÇÑ ¼¼±×¸ÕÆ®(segment)´Â ¾çÂÊ ¸ðµÎ »èÁ¦µË´Ï´Ù. ÀÌ ½ºÅÜÀº ÇØ´çÇÏ´Â °ÍÀÌ ¾ø¾îÁú ¶§±îÁö ¹Ýº¹ÇØÁý´Ï´Ù.

  3. ÆÐ½º°¡ »ó´ë·Î, ÃÖÃÊÀÇ ¼¼±×¸ÕÆ®(segment)¿¡ ±¸µÎÁ¡ (:)ÀÌ Æ÷ÇԵǴ °æ¿ì,. ¼¼±×¸ÕÆ®(segment)°¡ Àü¿¡ Ãß°¡µË´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,a:b/c/d µîÀÇ ÆÐ½º¸¦ °¡Áö´Â »ó´ë URI °¡ ³ªÁß¿¡ a ÀÇ schema ¹× b/c/d ÀÇ schema °íÀ¯ ºÎºÐÀ» »ç¿ëÇØ ºÒÅõ¸í URI ·Î¼­ ÀçÂ÷ ÇØ¼®µÇÁö ¾Ê°Ô ÇÕ´Ï´Ù (RFC 2396 ¸¦ º¯°æÇÑ °Í).

Á¤±ÔÈ­µÈ ÆÐ½º´Â »èÁ¦¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù .. (ÀÌ)°¡ ¾Æ´Ñ ¼±ÇàÀÇ ¼¼±×¸ÕÆ®(segment)°¡ ºÒÃæºÐÇß´ø °æ¿ì, 1 kr ÀÌ»óÀÇ .. ¼¼±×¸ÕÆ®(segment)·Î ½ÃÀ۵˴ϴÙ. Á¤±ÔÈ­µÈ ÆÐ½º´Â »ó±âÀÇ ½ºÅÜ 3 À¸·Î »ðÀÔ ÅëÁö °æ¿ì,. ¼¼±×¸ÕÆ®(segment)·Î ½ÃÀ۵˴ϴÙ. ±×·¸Áö ¾ÊÀº °æ¿ì, Á¤±ÔÈ­µÈ ÆÐ½º¿¡´Â . ¶Ç´Â .. ¼¼±×¸ÕÆ®(segment)´Â Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ¿Í µ¿µîÀÇ URI. ´Ù¸¸, ±× ÆÐ½º´Â Á¤±Ô Çü½Ä

resolve

public URI  resolve(URI  uri)
ÁöÁ¤µÈ URI ¸¦ ÀÌ URI ¿¡ ´ëÇØ¼­ ÇØ°áÇÕ´Ï´Ù.

ÁöÁ¤µÈ URI °¡ ¹ú½á Àý´ëÀÎ °æ¿ì, ¶Ç´Â ÀÌ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì´Â ÁöÁ¤µÈ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

ÁöÁ¤µÈ URI ÀÇ fragment ÄÄÆÛ³ÍÆ®°¡ Á¤ÀÇµÇ¾î ±× ÆÄ½ºÄÜÆ÷³ÙÆ®°¡ Çϴÿ¡¼­, ±× schema, ±ÇÇÑ, ¹× Äí¿¡¸®-ÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â ÁöÁ¤µÈ fragment¸¦ °¡ÁöÁö¸¸ ´Ù¸¥ ¸ðµç ÄÄÆÛ³ÍÆ®°¡ ÀÌ URI ÀÇ ÄÄÆÛ³ÍÆ®¿Í µ¿ÀÏÇÑ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù. À̰Ϳ¡ ÀÇÇØ,#foo µîÀÇ ½ºÅĵå¾ó·Ð fragment ÂüÁ¶¸¦ ³ªÅ¸³»´Â URI ¸¦ º£À̽º URI ¿¡ ´ëÇØ¼­ À¯È¿ÇÏ°Ô ÇØ°áÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ¡¸RFC 2396 , section 5. 2¡¹¿¡ ÀûÇÕÇÏ´Â ¹æ¹ýÀ¸·Î »õ·Î¿î °èÃþ URI ¸¦ ±¸ÃàÇÕ´Ï´Ù. ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.

  1. ÀÌ URI ÀÇ ½ºÅ´°ú ÁöÁ¤µÈ URI ÀÇ Äí¿¡¸®- ¹× fragment ÄÄÆÛ³ÍÆ®¸¦ »ç¿ëÇØ, »õ·Î¿î URI °¡ ±¸ÃàµË´Ï´Ù.

  2. ÁöÁ¤µÈ URI ¿¡ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â °æ¿ì, »õ·Î¿î URI ÀÇ ±ÇÇѰú ÆÐ½º´Â ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õĨ´Ï´Ù.

  3. ±×·¸Áö ¾ÊÀº °æ¿ì, »õ·Î¿î URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ ÀÌ URI ·ÎºÎÅÍ Ä«ÇÇµÇ¾î ±× ÆÐ½º´Â ´ÙÀ½°ú °°ÀÌ ÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

    1. ÁöÁ¤µÈ URI ÀÇ ÆÐ½º°¡ Àý´ëÀÇ °æ¿ì, »õ·Î¿î URI ÀÇ ÆÐ½º´Â ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õĨ´Ï´Ù.

    2. ±×·¸Áö ¾ÊÀº °æ¿ì, ÁöÁ¤µÈ URI ÀÇ ÆÐ½º´Â »ó´ë·Î, »õ·Î¿î URI ÀÇ ÆÐ½º´Â ÁöÁ¤µÈ URI ÀÇ ÆÐ½º¸¦ ÀÌ URI ÀÇ ÆÐ½º¿¡ ´ëÇØ¼­ ÇØ°áÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù. À̰ÍÀº ÀÌ URI ÀÇ ÆÐ½ºÀÇ ¸¶Áö¸· ¼¼±×¸ÕÆ®(segment) ÀÌ¿ÜÀÇ ¸ðµç ¼¼±×¸ÕÆ®(segment) (Á¸ÀçÇÏ´Â °æ¿ì)°¡ ÁöÁ¤µÈ URI ÀÇ ÆÐ½º¿Í ¿¬°áÇØ, ±× °á°ú¸¦ normalize ¸Þ¼Òµå¸¦ È£ÃâÇß´ÂÁö¿Í °°ÀÌ ÇØ Á¤±ÔÈ­ÇÏ´Â °Í¿¡ ÀÇÇØ ÇàÇØÁý´Ï´Ù.

ÀÌ ¸Þ¼ÒµåÀÇ °á°ú´Â ÀÌ URI °¡ Àý´ëÀÇ °æ¿ì, ¶Ç´Â ÁöÁ¤µÈ URI °¡ Àý´ëÀÇ °æ¿ì¿¡¸¸, Àý´ë·Î µË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
uri - ÀÌ URI ¿¡ ´ëÇØ¼­ ÇØ°áµÇ´Â URI
¹Ýȯ°ª:
°á°úÀÇ URI
¿¹¿Ü:
NullPointerException - uri °¡ null ÀÇ °æ¿ì

resolve

public URI  resolve(String  str)
ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» ÇØ¼®ÇØ, ±× ÈÄ ±× ij¸¯ÅÍ ¶óÀÎÀ» ÀÌ URI ¿¡ ´ëÇØ¼­ ÇØ°áÇØ, »õ·Î¿î URI ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÀÌ °£ÀÌ ¸Þ¼Òµå´Â ÀÌ ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ½Ä resolve (new create (str)) ÀÇ Æò°¡¿Í °°Àº°¡¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
str - URI ¿¡ ÇØ¼®µÇ´Â ij¸¯ÅÍ ¶óÀÎ
¹Ýȯ°ª:
°á°úÀÇ URI
¿¹¿Ü:
NullPointerException - str °¡ null ÀÇ °æ¿ì
IllegalArgumentException - ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀÌ RFC 2396 ¿¡ À§¹ÝÇÏ´Â °æ¿ì

relativize

public URI  relativize(URI  uri)
ÁöÁ¤µÈ URI ¸¦ ÀÌ URI ¿¡ ´ëÇØ¼­ »ó´ëÈ­ÇÕ´Ï´Ù.

ÁöÁ¤µÈ URI ÀÇ ÀÌ URI ¿¡ ´ëÇÑ »ó´ëÈ­´Â ´ÙÀ½°ú °°ÀÌ ÇØ ±¸ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  1. ÀÌ URI ¶Ç´Â ÁöÁ¤µÈ URI °¡ ºÒÅõ¸íÇÑ °æ¿ì, 2 °³ÀÇ URI ÀÇ schema¿Í ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ °°Áö ¾ÊÀº °æ¿ì, ¶Ç´Â ÀÌ URI ÀÇ ÆÐ½º°¡ ÁöÁ¤µÈ URI ÀÇ ÆÐ½ºÀÇ Á¢µÎ»ç°¡ ¾Æ´Ñ °æ¿ì´Â ÁöÁ¤µÈ URI °¡ µ¹·ÁÁÖ¾îÁý´Ï´Ù.

  2. ±×·¸Áö ¾ÊÀº °æ¿ì, ÁöÁ¤µÈ URI ·ÎºÎÅÍ ³õÄ£ Äí¿¡¸®- ¹× fragment ÄÄÆÛ³ÍÆ®¿Í ÁöÁ¤µÈ URI ÀÇ ÆÐ½ºÀÇ ¼±µÎ·ÎºÎÅÍ ÀÌ URI ÀÇ ÆÐ½º¸¦ »èÁ¦ÇØ ¿ä±¸ÇÑ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ »ç¿ëÇØ, »õ·Î¿î »ó´ë °èÃþ URI °¡ ±¸ÃàµË´Ï´Ù.

ÆÄ¶ó¹ÌÅÍ:
uri - ÀÌ URI ¿¡ ´ëÇØ¼­ »ó´ëÈ­µÇ´Â URI
¹Ýȯ°ª:
°á°úÀÇ URI
¿¹¿Ü:
NullPointerException - uri °¡ null ÀÇ °æ¿ì

toURL

public URL  toURL()
          throws MalformedURLException 
ÀÌ URI ·ÎºÎÅÍ URL ¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÀÌ °£ÀÌ ¸Þ¼Òµå´Â ÃÖÃÊ·Î ÀÌ URI °¡ Àý´ëÀÎ °ÍÀ» È®ÀÎÇÏ°í ³ª¼­, ÀÌ ¸Þ¼ÒµåÀÇ È£ÃâÀÌ ½Ä new URL(this.toString()) ÀÇ Æò°¡¿Í °°Àº°¡¿Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ·ÎºÎÅÍ ±¸ÃàµÈ URL
¿¹¿Ü:
IllegalArgumentException - ÀÌ URL °¡ Àý´ë°¡ ¾Æ´Ñ °æ¿ì
MalformedURLException - URL ÀÇ ÇÁ·ÎÅäÄÝ Çڵ鷯¸¦ ¹ß°ßÇÒ ¼ö ¾ø¾ú´ø °æ¿ì, ¶Ç´Â URL ÀÇ ±¸Ãà½Ã¿¡ ´Ù¸¥ ¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì

getScheme

public String  getScheme()
ÀÌ URI ÀÇ schema ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ schema ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ¡¸¿µ¼ýÀÚ¡¹Ä«Å×°í¸® ¹× ij¸¯ÅÍ ¶óÀÎ -. + ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ. schema´Â Ç×»ó ¡¸¿µ¹®ÀÚ¡¹·Î ½ÃÀ۵˴ϴÙ.

URI ÀÇ schema ÄÄÆÛ³ÍÆ®¿¡ À̽ºÄÉÀÌÇÁ octet ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø±â ¶§¹®¿¡, ÀÌ ¸Þ¼Òµå´Â º¹È£È­(decode)¸¦ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ schema ÄÄÆÛ³ÍÆ®. schema°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

isAbsolute

public boolean isAbsolute()
ÀÌ URI °¡ Àý´ëÀΰ¡ ¾î¶²°¡¸¦ ÅëÁöÇÕ´Ï´Ù.

URI °¡ Àý´ëÀÎ °ÍÀº ±× URI ¿¡ schema ÄÄÆÛ³ÍÆ®°¡ ÀÖ´Â °æ¿ì¸¸ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI °¡ Àý´ëÀÎ °æ¿ì¸¸ true

isOpaque

public boolean isOpaque()
ÀÌ URI °¡ ºÒÅõ¸íÇѰ¡ ¾î¶²°¡¸¦ ÅëÁöÇÕ´Ï´Ù.

ºÒÅõ¸í URI ´Â schema ÄÄÆÛ³ÍÆ® À̿ܿ¡¼­´Â ÇØ¼®µÇÁö ¾Ê½À´Ï´Ù. ºÒÅõ¸í URI ÀÇ ³ª¸ÓÁöÀÇ ºÎºÐÀº getSchemeSpecificPart ¸Þ¼Òµå¿¡ ÀÇÇØ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ ¸ðµç ÄÄÆÛ³ÍÆ®´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI °¡ ºÒÅõ¸íÀÇ °æ¿ì¸¸ true

getRawSchemeSpecificPart

public String  getRawSchemeSpecificPart()
ÀÌ URI ÀÇ schema °íÀ¯ ºÎºÐÀ» µ¹·ÁÁÝ´Ï´Ù. schema °íÀ¯ ºÎºÐÀº °áÄÚ ¹ÌÁ¤µµ¸®°¡ ¾Æ´Õ´Ï´Ù¸¸, ºñ¾úÀ» °æ¿ì°¡ ÀÖ½À´Ï´Ù.

URI ÀÇ schema °íÀ¯ ºÎºÐ¿¡´Â À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ schema °íÀ¯ ºÎºÐ (°áÄÚ null ´Â ¾Æ´Ï´Ù)

getSchemeSpecificPart

public String  getSchemeSpecificPart()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ schema °íÀ¯ ºÎºÐÀ» µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawSchemeSpecificPart ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ schema °íÀ¯ ºÎºÐ (°áÄÚ null ´Â ¾Æ´Ï´Ù)

getRawAuthority

public String  getRawAuthority()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ´Ü°¡ ±âÈ£ (@)¿Í ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ. ±ÇÇÑÀÌ ¼­¹ö º£À̽ºÀÇ °æ¿ì´Â ÇÑÃþ ´õ À¯È¿ÇÑ À¯Àú Á¤º¸, È£½ºÆ®, Æ÷ÅäÀÇ °¢ ÄÄÆÛ³ÍÆ®°¡ ÇÊ¿äÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ ±ÇÇÑ ÄÄÆÛ³ÍÆ®. ±ÇÇÑÀÌ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getAuthority

public String  getAuthority()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawAuthority ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ ±ÇÇÑ ÄÄÆÛ³ÍÆ®. ±ÇÇÑÀÌ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getRawUserInfo

public String  getRawUserInfo()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®. À¯Àú Á¤º¸°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getUserInfo

public String  getUserInfo()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawUserInfo ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®. À¯Àú Á¤º¸°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getHost

public String  getHost()
ÀÌ URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ® (Á¤Àǵǰí ÀÖ´Â °æ¿ì)ÀÇ Çü½ÄÀº ´ÙÀ½ÀÇ ¸ÓÁö¾Ê¾ÆÀΰ¡ÀÔ´Ï´Ù.

  • ÇǸ®¾îµå (. )(À¸)·Î ±¸ºÐµÈ 1 kr ÀÌ»óÀÇ ¡¸label¡¹·Î ±¸¼ºµÇ´Â µµ¸ÞÀθí. ÀÓÀÇ·Î, ÇǸ®¾îµå°¡ °è¼ÓµÈ´Ù. °¢ label´Â ¡¸¿µ¼ýÀÚ¡¹Ä³¸¯ÅÍ¿Í ÇÏÀÌÇ (-)À¸·Î ±¸¼ºµË´Ï´Ù. ´Ù¸¸, ÇÏÀÌÇÂÀº labelÀÇ ÃÖÃÊ ¶Ç´Â ¸¶Áö¸· ij¸¯Åͷμ­´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. µµ¸ÞÀθíÀÇ ¸¶Áö¸· label¸¸Àº ¡¸¿µ¹®ÀÚ¡¹Ä³¸¯ÅÍ·Î ½ÃÀ۵˴ϴÙ.

  • ¼ýÀÚ+. ¼ýÀÚ+. ¼ýÀÚ+. ¼ýÀÚ+ ÀÇ Çü½ÄÀÇ, ´åÀ¸·Î 4 °³·Î ±¸ºÐµÈ IPv4 ÁÖ¼Ò. ¿©±â¼­, ¼ýÀÚ´Â 3 ij¸¯ÅÍ À̳»¿¡¼­, ±× °ªÀº 255 ¸¦ ³ÑÁö ¾Ê½À´Ï´Ù.

  • IPv6 ÁÖ¼Ò´Â ²©¼â¹­À½ ([ ¹× ])À¸·Î µÑ·¯½Î¿© 16 Áø¼ö, ±¸µÎÁ¡ (:), ¹× ¾Æ¸¶ ÆÄ¹¯Èù IPv4 ÁÖ¼Ò·Î ±¸¼ºµË´Ï´Ù. IPv6 ÁÖ¼ÒÀÇ ¿ÏÀüÇÑ ±¸¹®Àº ¡¸RFC 2373: IPv6 Addressing Architecture¡¹·Î ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù.

URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ®¿¡ À̽ºÄÉÀÌÇÁ octet ¸¦ Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼­, ÀÌ ¸Þ¼Òµå´Â º¹È£È­(decode)¸¦ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ È£½ºÆ® ÄÄÆÛ³ÍÆ®. È£½ºÆ®°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getPort

public int getPort()
ÀÌ URI ÀÇ Æ÷Åä ¹øÈ£¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ Æ÷Åä ÄÄÆÛ³ÍÆ®´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), ºÎ°¡ ¾Æ´Ñ Á¤¼öÀÔ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ Æ÷Åä ÄÄÆÛ³ÍÆ®. Æ÷Åä°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â -1

getRawPath

public String  getRawPath()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), slash (/), ´Ü°¡ ±âÈ£ (@)¿Í ¡¸¹Ì¿¹¾à¡¹, ¡¸±¸µÎÁ¡¡¹, ¡¸À̽ºÄÉÀÌÇÁ¡¹, ¹× ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ÆÄ½ºÄÜÆ÷³ÙÆ®. ÆÐ½º°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getPath

public String  getPath()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ ÆÄ½ºÄÜÆ÷³ÙÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawPath ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ ÆÄ½ºÄÜÆ÷³ÙÆ®. ÆÐ½º°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getRawQuery

public String  getRawQuery()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®. Äí¿¡¸®-°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getQuery

public String  getQuery()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawQuery ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ Äí¿¡¸®-ÄÄÆÛ³ÍÆ®. Äí¿¡¸®-°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getRawFragment

public String  getRawFragment()
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ fragment ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

URI ÀÇ fragment ÄÄÆÛ³ÍÆ®¿¡´Â (Á¤Àǵǰí ÀÖ´Â °æ¿ì), À¯È¿ÇÑ URI ij¸¯Å͸¸ÀÌ Æ÷ÇԵ˴ϴÙ.

¹Ýȯ°ª:
ÀÌ URI ÀÇ ±×´ë·ÎÀÇ fragment ÄÄÆÛ³ÍÆ®. fragment°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

getFragment

public String  getFragment()
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ fragment ÄÄÆÛ³ÍÆ®¸¦ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀÎÀº getRawFragment ¸Þ¼Òµå·ÎºÎÅÍ µ¹·ÁÁÖ¾îÁø ij¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ octet ÀÇ ¼øÂ÷ ¼ø¼­°¡ ¸ðµÎº¹È£È­(decode) µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ º¹È£È­(decode) µÈ fragment ÄÄÆÛ³ÍÆ®. fragment°¡ ¹ÌÁ¤µµ¸®ÀÇ °æ¿ì´Â null

equals

public boolean equals(Object  ob)
ÀÌ URI °¡ ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.

ÁöÁ¤µÈ ¿ÀºêÁ§Æ®°¡ URI °¡ ¾Æ´Ñ °æ¿ì, ÀÌ ¸Þ¼Òµå´Â Áï½Ã false ¸¦ µ¹·ÁÁÝ´Ï´Ù.

µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ URI ´Â ¾çÂÊ ¸ðµÎ ºÒÅõ¸íÇѰ¡, ¾çÂÊ ¸ðµÎ °èÃþÀÏ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯ÇÑ schema´Â ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ µ¿ÀÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ±×·¯ÇÑ fragment¿¡ ´ëÇØ¼­µµ °°½À´Ï´Ù.

µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ ºÒÅõ¸í URI ÀÇ °æ¿ì, ±×·¯ÇÑ schema °íÀ¯ ºÎºÐÀº µ¿ÀÏÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù.

µ¿ÀÏÇÏ´Ù°í º¸¿©Áö´Â 2 °³ÀÇ °èÃþ URI ÀÇ °æ¿ì, ±×·¯ÇÑ ÆÐ½º´Â µ¿ÀÏÇϰí, ÈÖ¾îÁö°íÀÇ Äí¿¡¸®-´Â ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀº ¾çÂÊ ¸ðµÎ ¹ÌÁ¤µµ¸®Àΰ¡, ¾çÂÊ ¸ðµÎ ·¹Áö½ºÆ®¸® º£À̽ºÀΰ¡, ȤÀº ¾çÂÊ ¸ðµÎ ¼­¹ö º£À̽º°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀÌ Á¤Àǵǰí ÀÖ¾î ·¹Áö½ºÆ®¸® º£À̽ºÀÇ °æ¿ì, ±×·¯ÇÑ ±ÇÇÑÀº µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ±×·¯ÇÑ ±ÇÇÑÀÌ Á¤Àǵǰí ÀÖ¾î ¼­¹ö º£À̽ºÀÇ °æ¿ì, ±×·¯ÇÑ È£½ºÆ®´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ µ¿ÀÏÇϰí, ±×·¯ÇÑ Æ÷Åä ¹øÈ£´Â µ¿ÀÏÇϰí, ±×·¯ÇÑ À¯Àú Á¤º¸ ÄÄÆÛ³ÍÆ®´Â µ¿ÀÏÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

2 °³ÀÇ URI ÀÇ À¯Àú Á¤º¸, ÆÐ½º, Äí¿¡¸®-, fragment, ±ÇÇÑ, ¶Ç´Â schema °íÀ¯ ºÎºÐÀÌ µ¿ÀÏÇÑÁö ¾î¶²Áö ÆÇÁ¤ÇÏ´Â °æ¿ì, ÀÌ·¯ÇÑ ÄÄÆÛ³ÍÆ®´Â encode µÈ Çü½ÄÀÌ ¾Æ´Ï°í ±×´ë·ÎÀÇ Çü½Ä¿¡¼­ ºñ±³µÇ¾î À̽ºÄÉÀÌÇÁ octet ÀÇ 16 Áø¼ö´Â ´ë¹®ÀÚ ¼Ò¹®ÀÚ¿¡ °ü°è¾øÀÌ ºñ±³µË´Ï´Ù.

ÀÌ ¸Þ¼Òµå´Â Object.equals ¸Þ¼ÒµåÀÇ ¹ü¿ë ±Ô¾àÀ» ä¿ó´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ equals
ÆÄ¶ó¹ÌÅÍ:
ob - ÀÌ ¿ÀºêÁ§Æ®¿Í ºñ±³ÇÏ´Â ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
ÁöÁ¤µÈ ¿ÀºêÁ§Æ®°¡ ÀÌ URI ¿Í °°Àº URI ÀÎ °æ¿ì¸¸ true
°ü·Ã Ç׸ñ:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
ÀÌ URI ÀÇ ÇØ½Ã ÄÚµåÄ¡¸¦ µ¹·ÁÁÝ´Ï´Ù. ÇØ½Ã ÄÚµå´Â URI ÀÇ ¸ðµç ÄÄÆÛ³ÍÆ®¿¡ ±Ù°ÅÇØ,Object.hashCode ¸Þ¼ÒµåÀÇ ¹ü¿ë ±Ô¾àÀ» ä¿ó´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ hashCode
¹Ýȯ°ª:
ÀÌ URI ÀÇ ÇØ½Ã ÄÚµåÄ¡
°ü·Ã Ç׸ñ:
Object.equals(java.lang.Object) , Hashtable

compareTo

public int compareTo(Object  ob)
ÀÌ URI ¸¦ ´Ù¸¥ ¿ÀºêÁ§Æ®¿Í ºñ±³ÇÕ´Ï´Ù. ±× ¿ÀºêÁ§Æ®´Â URI °¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

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 ¿Í ºñ±³ÇÏ´Â ¿ÀºêÁ§Æ®
¹Ýȯ°ª:
ÀÌ URI °¡ ÁöÁ¤µÈ URI º¸´Ù ÀÛÀº °æ¿ì´Â ºÎÀÇ Á¤¼ö, µ¿ÀÏÇÑ °æ¿ì´Â 0, Å« °æ¿ì´Â Á¤ÀÇ Á¤¼ö
¿¹¿Ü:
ClassCastException - ÁöÁ¤µÈ ¿ÀºêÁ§Æ®°¡ URI °¡ ¾Æ´Ñ °æ¿ì

toString

public String  toString()
ÀÌ URI ÀÇ ÄÁÅÙÃ÷¸¦ ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ URI °¡ ÀÌ Å¬·¡½ºÀÇ constructor ÀÇ 1 °³¸¦ È£ÃâÇØ ÀÛ¼ºµÇ¾úÀ» °æ¿ì´Â ¿øÀÇ ÀԷ ij¸¯ÅÍ ¶óÀο¡ µ¿ÀÏÇÑ Ä³¸¯ÅÍ ¶óÀÎ, ¶Ç´Â ´çÃÊ·Î ÁöÁ¤µÈ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ¿ä±¸ÇÑ Ä³¸¯ÅÍ ¶óÀÎ (ÀûÀýÇÑ °æ¿ì)¿¡ µ¿ÀÏÇÑ Ä³¸¯ÅÍ ¶óÀÎÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ URI ´Â Á¤±ÔÈ­, ÇØ°á, ¶Ç´Â »ó´ëÈ­¿¡ ÀÇÇØ ÀÛ¼ºµÇ°í ÀÖ½À´Ï´Ù. µû¶ó¼­, ij¸¯ÅÍ ¶óÀÎÀº ¡¸RFC 2396 , section 5. 2, step 7¡¹À¸·Î ÁöÁ¤µÇ°í ÀÖ´Â ±ÔÄ¢¿¡ µû¶ó, ÀÌ URI ÀÇ ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ ±¸ÃàµË´Ï´Ù.

¿À¹ö¶óÀ̵å(override):
Ŭ·¡½º Object ³»ÀÇ toString
¹Ýȯ°ª:
ÀÌ URI ÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½Ä

toASCIIString

public String  toASCIIString()
ÀÌ URI ÀÇ ÄÁÅÙÃ÷¸¦ US-ASCII ij¸¯ÅÍ ¶óÀÎÀ¸·Î¼­ µ¹·ÁÁÝ´Ï´Ù.

ÀÌ URI ¿¡ ¡¸±× ¿Ü¡¹ÀÇ Ä«Å×°í¸®ÀÇ Ä³¸¯ÅͰ¡ Æ÷ÇÔµÇÁö ¾ÊÀº °æ¿ì´Â ÀÌ ¸Þ¼Òµå¸¦ È£ÃâÇϸé(ÀÚ) toString ¸Þ¼Òµå¸¦ È£ÃâÇßÀ» ¶§¿Í °°Àº °ªÀÌ µ¹·ÁÁÖ¾îÁý´Ï´Ù. ±×·¸Áö ¾ÊÀº °æ¿ì, ÀÌ ¸Þ¼Òµå´Â ±× ¸Þ¼Òµå¸¦ È£ÃâÇØ °á°ú¸¦encode ÇÏ´Â°Í °°ÀÌ µ¿ÀÛÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI ÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½Ä. Çʿ信 µû¶ó¼­, US-ASCII ij¸¯ÅÍ ¼¼Æ®ÀÇ Ä³¸¯Å͸¸À» Æ÷ÇÔÇϵµ·Ï(µíÀÌ) encode µÈ´Ù

JavaTM 2
Platform
Std.  Ed.  v1. 4.0

¹ö±×ÀÇ º¸°í¿Í ±â´ÉÀÇ ¸®Äù½ºÆ®
ÀÌ¿ÜÀÇ API ·¹ÆÛ·±½º ¹× °³¹ßÀÚ¿ë ¹®¼­¿¡ ´ëÇØ¼­´Â Java 2 SDK SE °³¹ßÀÚ¿ë ¹®¼­¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä. °³¹ßÀÚÀü¿ëÀÇ »ó¼¼ÇÑ ÇØ¼³, °³³äÀÇ °³¿ä, ¿ë¾îÀÇ Á¤ÀÇ, ¹ö±×ÀÇ È¸ÇÇÃ¥, ¹× ÄÚµå ½Ç·Ê°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

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.