JavaTM 2 Platform
Standard Ed. 5.0

java.net
Ŭ·¡½º URI

java.lang.Object 
  »óÀ§¸¦ È®Àå java.net.URI
¸ðµç ±¸ÇöµÈ ÀÎÅÍÆäÀ̽º:
Serializable, Comparable <URI >

public final class URI
extends Object
implements Comparable <URI >, Serializable

URI (Uniform Resource Identifier) ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù.

´ÙÀ½¿¡ ³ªÅ¸³»´Â ¼Ò±Ô¸ðÀÇ º¯°æÀº µû·Î ÇØ, ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â ¡¸RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax¡¹·Î Á¤ÀǵǾRFC 2732: Format for Literal IPv6 Addresses in URLs¡¹·Î ¼öÁ¤µÈ URI ÂüÁ¶¸¦ ³ªÅ¸³À´Ï´Ù. ¸®ÅÍ·² IPv6 ÁÖ¼Ò Çü½Ä¿¡¼­µµ, scope_ids°¡ Áö¿ø µË´Ï´Ù. scope_ids ±¸¹®°ú »ç¿ë ¹æ¹ýÀº¿©±â¼­ ¼³¸íÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ Å¬·¡½º´Â ÄÄÆÛ³ÍÆ®·ÎºÎÅÍ, ¶Ç´Â ij¸¯ÅÍ ¶óÀÎ Çü½ÄÀ» Çؼ®ÇØ URI ÀνºÅϽº¸¦ ÀÛ¼ºÇϱâ À§ÇÑ »ý¼ºÀÚ, ÀνºÅϽºÀÇ °¢Á¾ ÄÄÆÛ³ÍÆ®¿¡ ¾×¼¼½ºÇϱâ À§ÇÑ ¸Þ¼­µå ¹× URI ÀνºÅϽº¸¦ Á¤±ÔÈ­, ÇØ°á, »ó´ëÈ­Çϱâ À§ÇÑ ¸Þ¼­µå¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Å¬·¡½ºÀÇ ÀνºÅϽº´Â º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù.

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

ÃÖ°íÁ¤µµ ·¹º§ÀÇ Ä³¸¯ÅÍ ¶óÀÎ Çü½ÄÀÇ URI ÂüÁ¶ (±× µÚ·Î´Â ´ÜÁö ¡¸URI¡¹¶ó°í ÇÑ´Ù)ÀÇ ±¸¹®Àº ´ÙÀ½°ú °°½À´Ï´Ù.
[schema:]schema °íÀ¯ ºÎºÐ[#fragment]
¿©±â¼­, ²©¼â¹­À½ [...] ´Â ¿É¼ÇÀÇ ÄÄÆÛ³ÍÆ®¸¦ ³ªÅ¸³», : ¶ó°í #´Â ±× ¹®ÀÚ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù.

¡¸Àý´ë¡¹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
//~/calendar

°èÃþ URI´Â ±¸¹®¿¡ µû¶ó ¶ÇÇÑ Çؼ®µË´Ï´Ù.

[schema:][//±ÇÇÑ][Æнº][? Äõ¸®][#fragment]
¿©±â¼­, :, /, ? ¹× # Àº ±× ¹®ÀÚ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù. °èÃþ URI schema °íÀ¯ ºÎºÐÀº schema¿Í fragment ÄÄÆÛ³ÍÆ®ÀÇ »çÀÌÀÇ ¹®ÀÚ·Î ±¸¼ºµË´Ï´Ù.

°èÃþ URI ±ÇÇÑ ÄÄÆÛ³ÍÆ®°¡ °¡¸®Å°´Â °æ¿ì, ±× ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â ¡¸¼­¹ö º£À̽º¡¹¶Ç´Â ¡¸·¹Áö½ºÆ®¸® º£À̽º¡¹ÀÔ´Ï´Ù. ¼­¹ö º£À̽º ±ÇÇÑÀº Àß ¾Ë·ÁÁ® ÀÖ´Â ±¸¹®¿¡ µû¶ó Çؼ®µË´Ï´Ù.

[»ç¿ëÀÚ Á¤º¸@]È£½ºÆ®[:Æ÷Æ®]
¿©±â¼­, @ ¶ó°í :´Â ±× ¹®ÀÚ ÀÚü¸¦ ³ªÅ¸³À´Ï´Ù. ÇöÀç »ç¿ëµÇ°í ÀÖ´Â URI schemaÀÇ ´ëºÎºÐÀº ¼­¹ö º£À̽ºÀÔ´Ï´Ù. ÀÌ¿Í °°ÀÌ Çؼ®µÇÁö ¾Ê´Â ±ÇÇÑ ÄÄÆÛ³ÍÆ®´Â ·¹Áö½ºÆ®¸® º£À̽º¶ó°í º¸¿©Áý´Ï´Ù.

°èÃþ URI ÆĽºÄÜÆ÷³ÙÆ®´Â slash ( ¡¸/¡¹)·Î ½ÃÀ۵Ǵ °æ¿ì´Â Àý´ë·Î ºÒ·Á ±×·¸Áö ¾ÊÀº °æ¿ì´Â »ó´ë·Î ºÒ¸³´Ï´Ù. Àý´ëÀÎ °èÃþ URI ¶Ç´Â ±ÇÇÑÀ» ÁöÁ¤ÇÏ´Â °èÃþ URI Æнº´Â Ç×»ó Àý´ëÀÔ´Ï´Ù.

URI ÀνºÅϽº¿¡´Â ÀüºÎ ´ÙÀ½ÀÇ 9°³ÀÇ ÄÄÆÛ³ÍÆ®°¡ ÀÖ½À´Ï´Ù.

ÄÄÆÛ³ÍÆ®Çü
schemaString
schema °íÀ¯ ºÎºÐ     String
񀀥String
»ç¿ëÀÚ Á¤º¸String
È£½ºÆ®String
Æ÷Æ®int
ÆнºString
Äõ¸®String
fragmentString
ÁöÁ¤µÈ ÀνºÅϽº¿¡¼­´Â ¾î´À ƯÁ¤ÀÇ ÄÄÆÛ³ÍÆ®µµ ¡¸¹ÌÁ¤µµ¸®¡¹Àΰ¡ ¡¸Á¤ÀÇ°¡ ³¡³­ »óÅ¡¹À̸ç, °³º°ÀÇ ÇüÅÂÀÇ °ªÀ» °¡Áý´Ï´Ù. ¹ÌÁ¤µµ¸®ÀÇ Ä³¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â null·Î ³ªÅ¸³»Á® Á¤ÀÇ ³¡³­ Á¤¼ö ÄÄÆÛ³ÍÆ®´Â -1 À¸·Î ³ªÅ¸³»Áý´Ï´Ù. ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â °ªÀ¸·Î Çؼ­ ºñ¾îÀִ 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 //~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°¡ »ý¼ºµË´Ï´Ù.

¹®ÀÚ Ä«Å×°í¸®

URI ÂüÁ¶ÀÇ °¢Á¾ ÄÄÆÛ³ÍÆ®·Î Çã°¡µÇ´Â ¹®ÀÚ´Â RFC 2396 ·Î ¾ö¹ÐÇÏ°Ô ÁöÁ¤µÇ°í ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ Ä«Å×°í¸®¸¦ »ç¿ëÇØ, ÀÌ Á¦¾à¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Ä«Å×°í¸®ÀÇ ´ëºÎºÐÀº ±× »ç¾çÀ¸·ÎºÎÅÍ ³õÄ¡°í ÀÖ½À´Ï´Ù.
¿µ¹®ÀÚ ¡¸A¡¹·ÎºÎÅÍ ¡¸Z¡¹ ¹× ¡¸a¡¹·ÎºÎÅÍ ¡¸z¡¹±îÁöÀÇ US-ASCII ¿µ¹®ÀÚ
¼ýÀÚ ¡¸0¡¹À¸·ÎºÎÅÍ ¡¸9¡¹±îÁöÀÇ US-ASCII 10 Áø¼öÀÚ
¿µ¼ýÀÚ ¸ðµç ¡¸¿µ¹®ÀÚ¡¹ ¹× ¡¸¼ýÀÚ¡¹¹®ÀÚ
¹Ì¿¹¾à     ¸ðµç ¡¸¿µ¼ýÀÚ¡¹¹®ÀÚ ¹× ij¸¯ÅÍ ¶óÀÎ ¡¸_-!.~'()*¡¹ ¾ÈÀÇ ¹®ÀÚ
±¸µÎÁ¡ ij¸¯ÅÍ ¶óÀÎ ¡¸,;:$&+=¡¹ ¾ÈÀÇ ¹®ÀÚ
¿¹¾à ¸ðµç ¡¸±¸µÎÁ¡¡¹¹®ÀÚ ¹× ij¸¯ÅÍ ¶óÀÎ ¡¸"? /[]@"¡¹ ¾ÈÀÇ ¹®ÀÚ
À̽ºÄÉÀÌÇÁ À̽ºÄÉÀÌÇÁ 8Áßâ. Áï, ÆÛ¼¾Æ® ¹®ÀÚ ( ¡¸%¡¹)¿Í °Å±â¿¡ °è¼ÓµÇ´Â 2 ÀÚ¸®¼öÀÇ 16 Áø¼ö ( ¡¸0¡¹~ ¡¸9¡¹, ¡¸A¡¹~ ¡¸F¡¹ ¹× ¡¸a¡¹~ ¡¸f¡¹)·Î ±¸¼ºµÇ´Â »ïÁßÇ×
±× ¿Ü US-ASCII ij¸¯Åͼ¿¡ Æ÷ÇÔµÇÁö ¾Ê°í, Á¦¾î ¹®ÀÚ (Character.isISOControl ¸Þ¼­µå¿¡ ÇÑ´Ù)°¡ ¾Æ´Ï°í, °ø¹é ¹®ÀÚ (Character.isSpaceChar ¸Þ¼­µå¿¡ ÇÑ´Ù)°¡ ¾Æ´Ñ Unicode ¹®ÀÚ (US-ASCII ·Î ÇÑÁ¤µÇ°í ÀÖ´Â RFC 2396À» º¯°æÇÑ °Í)

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

À̽ºÄÉÀÌÇÁ 8Áßâ, ÀοëºÎÈ£, encode ¹× º¹È£È­

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

ÀÚ½Ä µ§Æ¼Æ¼

ÀÓÀÇÀÇ URI uÀÎ °æ¿ì´Â Ç×»ó ´ÙÀ½°ú °°ÀÌ µË´Ï´Ù.
new URI(u. toString()). equals(u) 
ºñ¾îÀÖ´Â ±ÇÇÑÀÇ Àü¿¡ 2°³ÀÇ slash°¡ Àְųª (file:///tmp/  µî), È£½ºÆ®¸íÀÇ ÈÄ¿¡ ±¸µÎÁ¡ÀÌ À־ Æ÷Æ®°¡ ÁöÁ¤µÇ¾î ÀÖÁö ¾Ê°Å³ª (http://java.sun.com:  µî) ÇÏ´Â °Í °°Àº ÀåȲ ±¸¹®À» Æ÷ÇÔÇÏÁö ¾Ê°í, ÀοëºÎÈ£·Î µÑ·¯½Ò ÇÊ¿ä°¡ ÀÖ´Â ¹®ÀÚ ÀÌ¿ÜÀÇ ¹®ÀÚ¸¦ 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 (URI  that)
          ÀÌ URI¸¦ ´Ù¸¥ °´Ã¼¿Í ºñ±³ÇÕ´Ï´Ù.
static URI create (String  str)
          ÁöÁ¤µÈ ij¸¯ÅÍ ¶óÀÎÀ» Çؼ®ÇØ URI¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
 boolean equals (Object  ob)
          ÀÌ URI°¡ ´Ù¸¥ °´Ã¼¿Í µ¿ÀÏÇÑÁö ¾î¶²Áö¸¦ ÆÇÁ¤ÇÕ´Ï´Ù.
 String getAuthority ()
          ÀÌ URI º¹È£È­ µÈ ±ÇÇÑ ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 String getFragment ()
          ÀÌ URI º¹È£È­ µÈ fragment ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 String getHost ()
          ÀÌ URI È£½ºÆ® ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 String getPath ()
          ÀÌ URI º¹È£È­ µÈ ÆĽºÄÜÆ÷³ÙÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 int getPort ()
          ÀÌ URI Æ÷Æ® ¹øÈ£¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 String getQuery ()
          ÀÌ URI º¹È£È­ µÈ Äõ¸®ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 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 º¹È£È­ µÈ schema °íÀ¯ ºÎºÐÀ» ¸®ÅÏÇÕ´Ï´Ù.
 String getUserInfo ()
          ÀÌ URI º¹È£È­ µÈ »ç¿ëÀÚ Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.
 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¸¦ ±¸ÃàÇÕ´Ï´Ù.

ÀÌ »ý¼ºÀÚ´Â ¡¸RFC 2396¡¹ºÎ·Ï 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À» °Ç³×ÁÖ¾î, ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

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

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº °ø¹éÀÌ´Ù

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

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

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

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

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

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

  8. Äõ¸®°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ ( ¡¸? ¡¹)ÀÌ Ãß°¡µÇ¾î, Äõ¸®°¡ °è¼ÓµÈ´Ù. À¯È¿ÇÑ URI ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ

  9. ¸¶Áö¸·À¸·Î fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, Çؽà ±âÈ£ ( ¡¸#¡¹)°¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµÈ´Ù. À¯È¿ÇÑ URI ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ

°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº °á°ú¿¡ ´ëÇؼ­ URI(String) »ý¼ºÀÚ¸¦ È£ÃâÇØ, ´ÙÀ½¿¡ 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À» °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

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

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº °ø¹éÀÌ´Ù

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

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

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

  5. Äõ¸®°¡ ÁöÁ¤µÇ´Â °æ¿ì, ¹°À½Ç¥ ( ¡¸? ¡¹)ÀÌ Ãß°¡µÇ¾î, Äõ¸®°¡ °è¼ÓµÈ´Ù. À¯È¿ÇÑ URI ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ

  6. ¸¶Áö¸·À¸·Î fragment°¡ ÁöÁ¤µÇ´Â °æ¿ì, Çؽà ±âÈ£ ( ¡¸#¡¹)°¡ Ãß°¡µÇ¾î, fragment°¡ °è¼ÓµÈ´Ù. À¯È¿ÇÑ URI ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ´Â ¸ðµÎ ÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ

°á°úÀÇ URI ij¸¯ÅÍ ¶óÀÎÀº °á°ú¿¡ ´ëÇؼ­ URI(String) »ý¼ºÀÚ¸¦ È£ÃâÇØ, ´ÙÀ½¿¡ 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À» °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

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

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À» °Ç³×ÁÖ¾î ¹ÌÁ¤µµ¸®´ë·Î µÇ´Â ÀÏÀÌ ÀÖ½À´Ï´Ù.

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

  1. óÀ½Àº °á°úÀÇ Ä³¸¯ÅÍ ¶óÀÎÀº °ø¹é3ÀÌ´Ù

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

  3. schema °íÀ¯ ºÎºÐÀÌ ÁöÁ¤µÇ´Â °æ¿ì, ±× schema °íÀ¯ ºÎºÐÀÌ Ãß°¡µÈ´Ù. À¯È¿ÇÑ URI ¹®ÀÚ°¡ ¾Æ´Ñ ¹®ÀÚ´Â ¸ðµÎÀοëºÎÈ£·Î µÑ·¯½ÎÀδÙ

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

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

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

create

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

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

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

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

parseServerAuthority

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

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

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

ÀÌ ¸Þ¼­µå´Â 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¡¹¼½¼Ç 5. 2, ½ºÅÜ 6, ¼­ºê ½ºÅÜ  c ~ 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°³ ÀÌ»óÀÇ ¡¸..¡¹¼¼±×¸ÕÆ®(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¡¹¼½¼Ç 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 (URI. 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 ½ºÅ´ ÄÄÆÛ³ÍÆ®¿¡ À̽ºÄÉÀÌÇÁ 8ÁßâÀ» Æ÷ÇÔÇÒ ¼ö ¾ø½À´Ï´Ù. µû¶ó¼­, ÀÌ ¸Þ¼­µå´Â º¹È£È­¸¦ ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.

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

isAbsolute

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

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

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

isOpaque

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

URI°¡ ºÒÅõ¸íÇÑ °ÍÀº ±× URL°¡ Àý´ë·Î schema °íÀ¯ ºÎºÐÀÌ slash ¹®ÀÚ ( ¡¸/¡¹)·Î ½ÃÀÛµÇÁö ¾Ê´Â °æ¿ì »ÓÀÔ´Ï´Ù. ºÒÅõ¸íÇÑ URI´Â schema, schema °íÀ¯ ºÎºÐ ¹× (°æ¿ì¿¡ µû¶ó¼­´Â) fragment¸¦ °¡Áý´Ï´Ù. ±× ¿ÜÀÇ ¸ðµç ÄÄÆÛ³ÍÆ®´Â ¹ÌÁ¤µµ¸®ÀÔ´Ï´Ù.

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

getRawSchemeSpecificPart

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

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

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

getSchemeSpecificPart

public String  getSchemeSpecificPart()
ÀÌ URI º¹È£È­ µÈ schema °íÀ¯ ºÎºÐÀ» ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawSchemeSpecificPart ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

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

getRawAuthority

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

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

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

getAuthority

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

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawAuthority ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

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

getRawUserInfo

public String  getRawUserInfo()
ÀÌ URI ±×´ë·ÎÀÇ »ç¿ëÀÚ Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

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

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

getUserInfo

public String  getUserInfo()
ÀÌ URI º¹È£È­ µÈ »ç¿ëÀÚ Á¤º¸ ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawUserInfo ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

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

getHost

public String  getHost()
ÀÌ URI È£½ºÆ® ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

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

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

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

getPort

public int getPort()
ÀÌ URI Æ÷Æ® ¹øÈ£¸¦ ¸®ÅÏÇÕ´Ï´Ù.

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

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

getRawPath

public String  getRawPath()
ÀÌ URI ±×´ë·ÎÀÇ ÆĽºÄÜÆ÷³ÙÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

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

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

getPath

public String  getPath()
ÀÌ URI º¹È£È­ µÈ ÆĽºÄÜÆ÷³ÙÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawPath ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

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

getRawQuery

public String  getRawQuery()
ÀÌ URI ±×´ë·ÎÀÇ Äõ¸®ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

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

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

getQuery

public String  getQuery()
ÀÌ URI º¹È£È­ µÈ Äõ¸®ÄÄÆÛ³ÍÆ®¸¦ ¸®ÅÏÇÕ´Ï´Ù.

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawQuery ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

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

getRawFragment

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

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

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

getFragment

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

ÀÌ ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀÎÀº, getRawFragment ¸Þ¼­µå·ÎºÎÅÍ ¸®ÅÏµÈ Ä³¸¯ÅÍ ¶óÀΰú °°½À´Ï´Ù. ´Ù¸¸, À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ ¼ø¼­°¡ ¸ðµÎº¹È£È­ µÇ´Â °æ¿ì¸¦ Á¦¿ÜÇÕ´Ï´Ù.

¹Ýȯ°ª:
ÀÌ URI º¹È£È­ µÈ 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 µÈ Çü½ÄÀÌ ¾Æ´Ï°í ±×´ë·ÎÀÇ Çü½Ä¿¡¼­ ºñ±³µÇ¾î À̽ºÄÉÀÌÇÁ 8ÁßâÀÇ 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(URI  that)
ÀÌ URI¸¦ ´Ù¸¥ °´Ã¼¿Í ºñ±³ÇÕ´Ï´Ù. ±× °´Ã¼´Â URI°¡ ¾Æ´Ï¸é ¾ÈµË´Ï´Ù.

2°³ÀÇ URI ´ëÀÀÇÏ´Â ÄÄÆÛ³ÍÆ®¸¦ ºñ±³ÇÏ´Â °æ¿ì, ÄÄÆÛ³ÍÆ®ÀÇ ÇÑÆíÀÌ ¹ÌÁ¤µµ¸®·Î ÇÑÆíÀÌ Á¤Àǵǰí ÀÖÀ¸¸é, ÀüÀÚ´Â ÈÄÀÚº¸´Ù ÀÛ´Ù°í º¸¿©Áý´Ï´Ù. ƯÈ÷ ¸í±âµÇ¾î ÀÖÁö ¾ÊÀº ÇÑ, ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â String.compareTo ¸Þ¼­µå·Î Á¤Àǵǰí ÀÖµµ·Ï, º»·¡ÀÇ ´ë¹®ÀÚ/¼Ò¹®ÀÚ¸¦ ±¸º°ÇÑ ¼ø¼­¿¡ µû¶ó ¼ø¼­ ºÙÀÏ ¼ö ÀÖ½À´Ï´Ù. encode µÇ´Â ij¸¯ÅÍ ¶óÀÎ ÄÄÆÛ³ÍÆ®´Â encode µÈ Çü½ÄÀÌ ¾Æ´Ï°í ±×´ë·ÎÀÇ Çü½Ä¿¡¼­ ºñ±³µË´Ï´Ù.

URI ¼ø¼­´Â ´ÙÀ½°ú °°ÀÌ Á¤Àǵ˴ϴÙ.

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

Á¤ÀÇ:
ÀÎÅÍÆäÀ̽º Comparable <URI > ³»ÀÇ compareTo
ÆĶó¹ÌÅÍ:
that - ÀÌ URI¿Í ºñ±³ÇÏ´Â °´Ã¼
¹Ýȯ°ª:
ÀÌ URI°¡ ÁöÁ¤µÈ URI º¸´Ù ÀÛÀº °æ¿ì´Â ºÎÀÇ Á¤¼ö, µ¿ÀÏÇÑ °æ¿ì´Â 0, Å« °æ¿ì´Â Á¤ÀÇ Á¤¼ö
¿¹¿Ü:
ClassCastException - ÁöÁ¤µÈ °´Ã¼°¡ URI°¡ ¾Æ´Ñ °æ¿ì

toString

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

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

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

toASCIIString

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

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

¹Ýȯ°ª:
ÀÌ URI ij¸¯ÅÍ ¶óÀÎ Çü½Ä. ÇÊ¿ä¿¡ µû¶ó¼­, US-ASCII ij¸¯ÅͼÂÀÇ ¹®ÀÚ¸¸À» Æ÷ÇÔÇϵµ·Ï encode µÈ´Ù

JavaTM 2 Platform
Standard Ed. 5.0

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.