๐Ÿ”ฌComputer Science/๋„คํŠธ์›Œํฌ

[TIL] URI ์ „์ฒด ๋ฌธ๋ฒ•, URI vs URL vs URN

hellohailie 2023. 1. 4. 08:26

 

๐Ÿค“๋ฐฐ์›€ ์š”์•ฝํ•˜๊ธฐ

URI๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?
์ธํ„ฐ๋„ท ์ž์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ  ์‹๋ณ„์ž ์ž…๋‹ˆ๋‹ค. 

 

โœ”๏ธ URI? URL? URN?

URI๋Š” ๋กœ์ผ€์ดํ„ฐ(locator), ์ด๋ฆ„(name) ๋˜๋Š” ๋‘˜ ๋‹ค ์ถ”๊ฐ€๋กœ ๋ถ„๋ฅ˜๋  ์ˆ˜ ์žˆ๋‹ค. 

โ–ถ URI ๋ž€? 

๐Ÿ‘‰ ์ธํ„ฐ๋„ท ์ž์›์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ณ ์œ  ์‹๋ณ„์ž ์ž…๋‹ˆ๋‹ค. 

Uniform = ๋ฆฌ์†Œ์Šค ์‹๋ณ„ํ•˜๋Š” ํ†ต์ผ๋œ ๋ฐฉ์‹

Resource = ์ž์›, URI๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ(์ œํ•œ ์—†์Œ) html ์ฝ”๋“œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ชจ๋“  ๊ฒƒ

Identifier = ๋‹ค๋ฅธ ํ•ญ๋ชฉ๊ณผ ๊ตฌ๋ถ„ํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด

 

โ–ถ URL ๋ž€? 

Location = ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ์ง€์ •

๋ณ€ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

โ–ถ URN ๋ž€? 

Name = ๋ฆฌ์†Œ์Šค์— ์ด๋ฆ„์„ ๋ถ€์—ฌ

๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. 

URN ์ด๋ฆ„๋งŒ์œผ๋กœ ์‹ค์ œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ๋ณดํŽธํ™” ๋˜์ง€ ์•Š์Œ.

 


โœ”๏ธ URI ์ „์ฒด ๋ฌธ๋ฒ•

 

  • scheme://[userinfo@]host[:port][/path][?query][#fragment]
  • https://www.google.com:443/search?q=hello&hl=ko

      ํ”„๋กœํ† ์ฝœ /        ํ˜ธ์ŠคํŠธ๋ช…       /  ํฌํŠธ  /   ํŒจ์Šค  / ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ

 

 

 

โ–ถ scheme

์ฃผ๋กœ ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋œ๋‹ค. 

ํ”„๋กœํ† ์ฝœ = ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž์›์— ์ ‘๊ทผํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„์™€์˜ ์•ฝ์† ๊ทœ์น™ ex) http, https, ftp ๋“ฑ๋“ฑ

http๋Š” 80 ํฌํŠธ, https๋Š” 443 ํฌํŠธ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค. (ํฌํŠธ๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋‹ค)

 

โ–ถ userinfo

URL์— ์‚ฌ์šฉ์ž์ •๋ณด๋ฅผ ํฌํ•จํ•ด์„œ ์ธ์ฆํ•ด์•ผํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

โ–ถ host

๋ณดํ†ต ๋„๋ฉ”์ธ ๋ช…์ด๋‚˜ IP ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•œ๋‹ค. 

โ–ถ port

์ ‘์†ํฌํŠธ

์ƒ๋žต๊ฐ€๋Šฅํ•˜๊ณ , ์ƒ๋žต์‹œ http๋Š” 80 ํฌํŠธ, https๋Š” 443 ํฌํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. 

 

โ–ถ path

๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ๋กœ๋ฅผ ๋œปํ•˜๊ณ , ๊ณ„์ธต์  ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. 

 

ex)

/home/file1.jpg

/members

/members/100

 

โ–ถ query

query parameter, query string ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆฌ๊ณ , ์›น์„œ๋ฒ„์— ์ œ๊ณตํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฌธ์ž ํ˜•ํƒœ์ด๋‹ค. 

key = value์˜ ํ˜•ํƒœ์ด๋‹ค. 

?๋กœ ์‹œ์ž‘ํ•˜๊ณ , &๋กœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค

ex) ?keyA=valueA&keyB=valueB

โ–ถ fragment

html ๋‚ด๋ถ€ ๋ถ๋งˆํฌ ๋“ฑ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์„œ๋ฒ„์— ์ „์†ก๋˜๋Š” ์ •๋ณด๊ฐ€ ์•„๋‹ˆ๋‹ค.

 

 


๐Ÿ˜ƒ ์ž˜๋ชป๋œ ๊ฐœ๋… ์ „๋‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €์˜ ์„ฑ์žฅ์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค๐Ÿค“