yeon's blog

[HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹] URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„ - URI ๋ณธ๋ฌธ

HTTP

[HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹] URI์™€ ์›น ๋ธŒ๋ผ์šฐ์ € ์š”์ฒญ ํ๋ฆ„ - URI

yeonii 2023. 12. 3. 12:40

๐ŸŒฑ URI

URI? URL? URN?

URI ๋‚ด๋ถ€์— URL, URN์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

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

 

URI (Uniform Resource Identifier)

  • Uniform: ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ†ต์ผ๋œ ๋ฐฉ์‹
  • Resource: URI๋กœ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์ž์›
  • Identifier: ๋‹ค๋ฅธ ํ•ญ๋ชฉ๊ณผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด

URL (Uniform Resource Locator)

  • Locator: ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ๋Š” ์œ„์น˜ (→URI์™€ ๊ฑฐ์˜ ๊ฐ™์€ ์˜๋ฏธ)

URN (Uniform Resource Name)

  • Name: ๋ฆฌ์†Œ์Šค์— ๋ถ€์—ฌํ•œ ์ด๋ฆ„

→ URL๊ณผ URN์˜ ์ฐจ์ด์ ์€ URL์€ ์œ„์น˜(Locator)๋กœ์„œ ๋ณ€ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋ฆ„(Name)์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

URI ์ „์ฒด ๋ฌธ๋ฒ•

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

 

    1. scheme
      • ์ฃผ๋กœ ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ
      • ํ”„๋กœํ† ์ฝœ: ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž์›์— ์ ‘๊ทผํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์•ฝ์† ๊ทœ์น™
        • ์˜ˆ) http, https, ftp ๋“ฑ
      • http : 80, https : 443 ์ฃผ๋กœ ์‚ฌ์šฉ
      • https๋Š” http์— ๊ฐ•๋ ฅํ•œ ๋ณด์•ˆ ์ถ”๊ฐ€๋กœ ์ ์šฉ๋œ ๊ฒƒ. (HTTP Secure)
    2. userinfo
      • URL์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ํฌํ•จํ•ด์„œ ์ธ์ฆ
      • ๊ฑฐ์˜ ์‚ฌ์šฉ X
    3. host
      • ํ˜ธ์ŠคํŠธ๋ช…
      • ๋„๋ฉ”์ธ๋ช… ๋˜๋Š” IP ์ฃผ์†Œ ์ง์ ‘ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    4. port
      • ์ ‘์† ํฌํŠธ
      • ์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๋žต (→ ํŠน์ • ์„œ๋ฒ„์— ๋”ฐ๋กœ ์ ‘๊ทผ ํ•  ๋•Œ๋Š” port๋ฅผ ์ž…๋ ฅ)
    5. path
      • ๋ฆฌ์†Œ์Šค ๊ฒฝ๋กœ, ๊ณ„์ธต์  ๊ตฌ์กฐ
        • /home/file1.jpg   โžก๏ธ   home ์ด๋ผ๋Š” ๊ฒฝ๋กœ์— file1.jpg๊ฐ€ ์žˆ๋‹ค.
        • /members   โžก๏ธ   ํšŒ์›๋“ค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒฝ๋กœ์ด๋‹ค.
        • /members/100, /items/iphone12   โžก๏ธ  100๋ฒˆ์˜ ํšŒ์›์˜ ์ •๋ณด, ์•„์ดํ…œ ์ค‘์— ์•„์ดํฐ12 ์ •๋ณด ๊ฒฝ๋กœ์ด๋‹ค.
    6. query
      • key=value ํ˜•ํƒœ
      • ?๋กœ ์‹œ์ž‘ํ•˜๊ณ  &๋กœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅ → ?keyA=valueA&keyB=valueB
      • query parameter, query string์ด๋ผ ๋ถˆ๋ฆผ, ์›น ์„œ๋ฒ„์— ์ œ๊ณตํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฌธ์ž ํ˜•ํƒœ
    7. fragment
      • HTML ๋‚ด๋ถ€์—์„œ ์ค‘๊ฐ„์— ์ด๋™ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ๋ถ๋งˆํฌ ๋“ฑ์— ์‚ฌ์šฉํ•œ๋‹ค. ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์„œ๋ฒ„์— ์ „์†กํ•˜๋Š” ์ •๋ณด ์•„๋‹ˆ๋‹ค.