URL(Uniform Resource Locator)์€ ์ธํ„ฐ๋„ท์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‘œ์ค€ ์ด๋ฆ„์ด๋‹ค. ๋ฆฌ์†Œ์Šค๋ผ๋Š” ์ด๋ฆ„ ๋‹ต๊ฒŒ ์ž์›์ด ์–ด๋”” ์žˆ๊ณ  ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ด๋ฆ„์ธ ์…ˆ์ด๋‹ค. URL์€ ํฌ๊ฒŒ ์„ธ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด์„œ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค.

Scheme://Authority/Path
  • Scheme : ์›น ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฆฌ์†Œ์Šค์— ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๋Š”์ง€๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์‹๋ณ„์ž๋กœ ํ”„๋กœํ† ์ฝœ์˜ ์ด๋ฆ„์„ ์“ด๋‹ค.
  • Authority : ์„œ๋ฒ„์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ถ€๋ถ„์œผ๋กœ, ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋””์— ํ˜ธ์ŠคํŒ…๋˜์–ด์žˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์ค€๋‹ค.
  • Path : ๋ฆฌ์†Œ์Šค์˜ ๊ฒฝ๋กœ๋ฅผ ๋‚˜ํƒ€๋Š” ๋ถ€๋ถ„์œผ๋กœ ์„œ๋ฒ„์— ์กด์žฌํ•˜๋Š” ๋กœ์ปฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ๋ ค์ค€๋‹ค.

๊ณผ๊ฑฐ์—๋Š” ์ด๋Ÿฌํ•œ URL์ด ๋ถ€์žฌํ•˜๋ฉด์„œ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ์ž์›์˜ ํƒ์ƒ‰์ด๋‚˜ ๊ณต์œ  ๋“ฑ์ด ์–ด๋ ค์› ์ง€๋งŒ, URL์ด ๋“ฑ์žฅํ•œ ์ดํ›„๋กœ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์ด ๊ณตํ†ต์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉด์„œ ์ง€๊ธˆ๊ณผ ๊ฐ™์ด ํŽธ๋ฆฌํ•˜๊ฒŒ ์ž์›์„ ๋ณด๊ณ  ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค-.

URL ๋ฌธ๋ฒ•

๋Œ€๋ถ€๋ถ„์˜ URL ์Šคํ‚ด์˜ ๋ฌธ๋ฒ•์€ ํ†ต์ผ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ด๊ฐ€ ํ˜•์‹์— ๋งž์ถฐ ์“ฐ๋ฉด ๋œ๋‹ค.

<์Šคํ‚ด>://<์‚ฌ์šฉ์ž ์ด๋ฆ„>:<๋น„๋ฐ€๋ฒˆํ˜ธ>@<ํ˜ธ์ŠคํŠธ>:<ํฌํŠธ>/<๊ฒฝ๋กœ>;<ํŒŒ๋ผ๋ฏธํ„ฐ>?<์งˆ์˜>#<ํ”„๋ž˜๊ทธ๋จผํŠธ>
์ปดํฌ๋„ŒํŠธ์„ค๋ช…๊ธฐ๋ณธ๊ฐ’
์Šคํ‚ดํ”„๋กœํ† ์ฝœ๋ช….
์•ŒํŒŒ๋ฒณ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  ๋Œ€์†Œ๋ฌธ์ž ์•ˆ๊ฐ€๋ฆผ.
: ๋กœ ๊ตฌ๋ณ„
์—†์Œ
์‚ฌ์šฉ์ž ์ด๋ฆ„๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ด๋ฆ„anonymous
๋น„๋ฐ€๋ฒˆํ˜ธ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ<์ด๋ฉ”์ผ ์ฃผ์†Œ>
ํ˜ธ์ŠคํŠธ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์„œ๋ฒ„์˜ ํ˜ธ์ŠคํŠธ ๋ช…์ด๋‚˜ IP์ฃผ์†Œ์—†์Œ
ํฌํŠธ๋ฆฌ์†Œ์Šค๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ์—ด์–ด๋†’์€ ํฌํŠธ๋ฒˆํ˜ธHTTP๋Š” 80, HTTP๋Š” 443
๊ฒฝ๋กœ๋น—๊ธˆ์œผ๋กœ ๊ฒฝ๋กœ๋ฅผ ํ‘œ์‹œ์—†์Œ
ํŒŒ๋ผ๋ฏธํ„ฐ์ด๋ฆ„/๊ฐ’์„ ์Œ์œผ๋กœ ๊ฐ€์ง€๋Š” URL์ƒ์˜ ์ธ์ž์—†์Œ
์งˆ์˜ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋„˜๊ธธ ๋•Œ ์“ฐ๋Š” ๊ฐ’์—†์Œ
ํ”„๋ž˜๊ทธ๋จผํŠธโ€#โ€œ๋กœ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฆฌ์†Œ์Šค ์กฐ๊ฐ์ด๋‚˜ ์ผ๋ถ€๋ถ„์˜ ์ด๋ฆ„์—†์Œ

Scheme

  • ์šฐ๋ฆฌ๋Š” http๋‚˜ https์ •๋„๋งŒ ์จ๋ดค์„ ํ…Œ์ง€๋งŒ ๋‹ค๋ฅธ ๋ชจ๋“  ํ”„๋กœํ† ์ฝœ๋„ ์ง€์›ํ•œ๋‹ค.
  • : ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„ํ•˜๊ณ , ์ดํ›„์—๋Š” //๋ฅผ ์จ์„œ ๋’ท๋ถ€๋ถ„๊ณผ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„ํ•œ๋‹ค.
  • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ฐ€๋ฆฌ์ง€ ์•Š๋Š”๋‹ค

ํ˜ธ์ŠคํŠธ์™€ ํฌํŠธ

  • ์ ‘๊ทผํ•˜๋ ค๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ธํ„ฐ๋„ท์ƒ์˜ ํ˜ธ์ŠคํŠธ ์žฅ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
  • ํ˜ธ์ŠคํŠธ ๋ช…์ด๋‚˜ IP์ฃผ์†Œ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•œ๋‹ค.
  • ํฌํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์—ด์–ด๋†“์€ ๋„คํŠธ์›Œํฌ ํฌํŠธ๋กœ, TCP ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š” HTTP๋Š” ๊ธฐ๋ณธ์œผ๋กœ 80, HTTPS๋Š” 443์„ ์‚ฌ์šฉํ•œ๋‹ค.

์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ

  • ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.
  • ์ฃผ๋กœ ftp ์„œ๋ฒ„์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— http์—์„œ๋Š” ๊ฑฐ์˜ ๋ณผ ์ผ์ด ์—†๋‹ค
  • ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ๊ธฐ์น  ๋•Œ ๋งŽ์ด ์“ฐ์ด๋Š” ์ˆ˜๋ฒ•์œผ๋กœ๋„ ์‚ฌ์šฉ๋œ๋‹ค.
  • ๋ณดํ†ต ์ƒํ™ฉ์—์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž๋™์œผ๋กœ ์ด๋ฆ„์€ anonymous, ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” ๊ฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„ค์ •ํ•œ ๋””ํดํŠธ ๊ฐ’์œผ๋กœ ๋“ค์–ด๊ฐ„๋‹ค

๊ฒฝ๋กœ

  • ๋ฆฌ์†Œ์Šค๊ฐ€ ์„œ๋ฒ„์˜ ์–ด๋””์— ์žˆ๋Š”์ง€ ์•Œ๋ ค์ค€๋‹ค
  • / ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ ๋ฆฌ์†Œ์Šค์˜ ๊ฒฝ๋กœ๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค

์งˆ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๊ฒฝ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ

์šฐ๋ฆฌ๋Š” ์ด์ œ๊นŒ์ง€ ?๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋ฐ›๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋งŒ ์ฃผ๋กœ ๋ณด์•˜์ง€๋งŒ, ;๋กœ ๊ตฌ๋ณ„ํ•˜๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋„ ์žˆ๋‹ค. ?๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์€ Query parameter(์งˆ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ)์ด๊ณ , ํ•ด๋‹น ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” Path parameter(๊ฒฝ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ)์ด๋‹ค.

๊ฒฝ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ

  • ์„œ๋ฒ„์— ์ •ํ™•ํ•œ ๋ฆฌ์†Œ์Šค ์š”์ฒญ์„ ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฐ’๋“ค์„ ๋„ฃ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค
  • ์ด๋ฆ„/๊ฐ’ ์Œ์˜ ๋ฆฌ์ŠคํŠธ๋กœ URL ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๋ถ€ํ„ฐ ;๋กœ ๊ตฌ๋ณ„ํ•˜์—ฌ ๊ธฐ์ˆ ํ•œ๋‹ค.
  • ์š”์ฆ˜์—” Nextjs๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋„ ์ง€์›์„ ์•ˆํ•˜๊ณ  ๋ฌด์กฐ๊ฑด ๊ฒฝ๋กœ๋‚˜ ์งˆ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๊ตฌ๋ณ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด๊ธฐ ํž˜๋“ค๋‹ค

์งˆ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ

  • ?๋ฅผ ์•ž์— ์“ฐ๊ณ  ๋’ค์— ์ฐพ๊ณ ์ž ํ•˜๋Š” ๊ฐ’์— ๋Œ€ํ•ด์„œ ์งˆ์˜ ํ˜•์‹์œผ๋กœ ์“ฐ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ? ์šฐ์ธก์— ์žˆ๋Š” ๊ฒƒ์€ ์งˆ์˜ ์ปดํฌ๋„ŒํŠธ๋ผ๊ณ ๋„ ํ•œ๋‹ค.
  • ๊ฐ๊ฐ์˜ ์งˆ์˜๊ฐ€ &๋กœ ๋‚˜๋‰œ ์ด๋ฆ„=๊ฐ’ ์Œ์˜ ํ˜•ํƒœ์ด๋‹ค.

ํ”„๋ž˜๊ทธ๋จผํŠธ

  • ๋ณธ๋ž˜์˜ ์ˆ˜์ค€๋ณด๋‹ค ๋” ์ž‘๊ฒŒ ๋‚˜๋‰œ ๋ฆฌ์†Œ์Šค์˜ ํ˜•ํƒœ์ด๋‹ค.
  • ๋ฆฌ์†Œ์Šค ์•ˆ์— ์žˆ๋Š” ํŠน์ • ์ ˆ์„ ๊ฐ€๋ฆฌํ‚ค๊ธฐ๋„ ํ•œ๋‹ค.
  • https://poiemaweb.com/js-spa#2-routing
  • ์œ„ ๊ฒฝ๋กœ๋กœ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ํ•˜๋‚˜์˜ html์—์„œ # ์ดํ›„์˜ ๊ฐ’์— ๋Œ€ํ•ด์„œ id๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ถ€๋ถ„์„ ํฌ์ปค์‹ฑํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค.
  • ํ”„๋ž˜๊ทธ๋จผํŠธ๋Š” ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹Œ, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํ•ด์‹œ ๋’ค์˜ ํ”„๋ž˜๊ทธ๋จผํŠธ๋ฅผ ์ฝ๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

๋‹จ์ถ• URL

๋•Œ๋•Œ๋กœ URL์„ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ท€์ฐฎ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. ๊ณ„์† ํŒŒ๊ณ ๋“ค๋‹ค ๋ณด๋ฉด URL์ด ์ƒ๊ฐ๋ณด๋‹ค ๊ธธ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ๊ธฐ ๋งˆ๋ จ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ธŒ๋ผ์šฐ์ €๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ๋Š” url ์ผ๋ถ€๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์„ ์ž๋™์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ๋Š” URL ์ž๋™ ํ™•์žฅ์„ ์ง€์›ํ•œ๋‹ค.

URL์€ ์ƒ๋Œ€ URL๊ณผ ์ ˆ๋Œ€ URL๋กœ ๋‚˜๋‰œ๋‹ค. ๋ณดํ†ต ์šฐ๋ฆฌ๊ฐ€ ๋ณด๋Š” URL์€ ์ฒ˜์Œ ์‹œ์ž‘์ ๋ถ€ํ„ฐ ์–ด๋–ค ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ฒฝ๋กœ๋ฅผ ๋‹ค ์“ฐ๋Š”๋ฐ, ์ด๋Ÿฌํ•œ URL์ด ์ ˆ๋Œ€ URL์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ƒ๋Œ€ ๊ฒฝ๋กœ๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ„ฐ๋ฏธ๋„๋กœ ./index.html์„ ํ†ตํ•ด์„œ ํ•ด๋‹น ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ?

์ƒ๋Œ€ URL

์ƒ๋Œ€ URL์€ ๋ง ๊ทธ๋Œ€๋กœ ์ƒ๋Œ€์ ์ธ ์œ„์น˜์—์„œ์˜ URL์„ ์˜๋ฏธํ•œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ž…์žฅํ•  ์ˆ˜ ์—†์ง€๋งŒ, ๊ฐœ๋ฐœ์ž์˜ ์ž…์žฅ์—์„œ๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์žˆ๋Š” ํŽ˜์ด์ง€์—์„œ ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ์ƒ๋Œ€ URL๋กœ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰, ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋“  URL์„ ์ง์ ‘ ์ฒ˜์Œ๋ถ€ํ„ฐ ์“ฐ์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๋œป์ด๋‹ค. ์ด๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒ๋Œ€ URL๊ณผ ์ ˆ๋Œ€ URL๊ฐ„ ์ƒํ˜ธ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์ด๋‹ค.

๊ธฐ์ € URL

๊ธฐ์ € URL์€ ์ด๋Ÿฌํ•œ ์ƒ๋Œ€ URL์—์„œ ํ˜„์žฌ URL์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” URL์˜ ์ •๋ณด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. https://www.naver.com/blog ์—์„œ ๋‹ค์‹œ https://www.naver.com/๋กœ ๊ฐ„๋‹ค๊ณ  ํ•  ๋•Œ, ์ƒ๋Œ€ URL์—์„œ๋Š” ./๋งŒ ์ž…๋ ฅํ•˜๋ฉด ๋˜๊ณ , ์ด ์ƒํƒœ์—์„œ ๊ธฐ์ € URL์€ https://www.naver.com/๊ฐ€ ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์ƒํ˜ธ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ธฐ์ € URL์˜ ์ •๋ณด๋ฅผ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ ‡๊ฒŒ ๊ธฐ์ € URL์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

  • ๋ฆฌ์†Œ์Šค์—์„œ ๋ช…์‹œ์  ์ œ๊ณต
    • <BASE> HTML ํƒœ๊ทธ๋ฅผ ํ†ตํ•ด ๋ช…์‹œ
  • ๋ฆฌ์†Œ์Šค๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ์ € URL
    • ๊ธฐ์ € URL์ด ๋ช…์‹œ๋˜์ง€ ์•Š์€ ๋ฆฌ์†Œ์Šค์— ์ƒ๋Œ€ URL์ด ํฌํ•จ๋˜๋ฉด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์˜ URL์„ ๊ธฐ์ € URL๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ๊ทธ๋ƒฅ ํ˜„์žฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ƒ๋Œ€ URL์„ ์ ์šฉํ•œ๋‹ค๋Š” ์–˜๊ธฐ

์ƒ๋Œ€ URL์„ ์ ˆ๋Œ€ URL๋กœ ๋ฐ”๊พธ๊ธฐ

๊ธฐ์ € URL์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™”๋‹ค๋ฉด, ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด ๊ณผ์ •์—์„œ URL์„ ํŒŒ์‹ฑํ•˜์—ฌ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ๊ธฐ์ € URL๊ณผ ๋ฐ›์•˜๋˜ ํŒŒ๋ผ๋ฏธํ„ฐ, ์ƒ๋Œ€ ๊ฒฝ๋กœ ๋“ฑ ๊ฐ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์žฌ์กฐํ•ฉํ•จ์œผ๋กœ์จ ์ ˆ๋Œ€ URL๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜ํ•œ ์ ˆ๋Œ€ URL์„ ๊ฐ€์ง€๊ณ  ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด์„œ ์ •์ƒ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋‹ค.

URL ํ™•์žฅ

๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ˜ธ์ŠคํŠธ๋ช…, ์ฆ‰ naver์™€ ๊ฐ™์€ ํ˜ธ์ŠคํŠธ๋งŒ ์ž…๋ ฅํ•ด๋„ ํœด๋ฆฌ์Šคํ‹ฑํ•˜๊ฒŒ ์ž๋™์™„์„ฑ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ๋“ค์„ URL ํ™•์žฅ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. URL ํ™•์žฅ์˜ ์ข…๋ฅ˜์—๋Š” ํ˜ธ์ŠคํŠธ๋ช… ํ™•์žฅ๊ณผ ํžˆ์Šคํ† ๋ฆฌ ํ™•์žฅ์ด ์žˆ๋‹ค.

ํ˜ธ์ŠคํŠธ๋ช… ํ™•์žฅ์˜ ๊ฒฝ์šฐ naver๋งŒ ์ณ๋„ ๋ธŒ๋ผ์šฐ์ €๋Š” ์•ž๋’ค๋กœ www์™€ .com์„ ๋„ฃ์–ด์ค€๋‹ค. ํœด๋ฆฌ์Šคํ‹ฑํ•˜๊ฒŒ ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€๋ ค๋Š” ํ˜ธ์ŠคํŠธ๋ฅผ ํ™•์žฅ์‹œํ‚ค๋Š” ๋ฐฉ์‹์ด๋‹ค.

ํžˆ์Šคํ† ๋ฆฌ ํ™•์žฅ์˜ ๊ฒฝ์šฐ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณผ๊ฑฐ์— ๋‚ด๊ฐ€ ๋ฐฉ๋ฌธํ–ˆ๋˜ URL์˜ ๊ธฐ๋ก์„ ์ €์žฅํ•ด๋†“๊ณ , ์ž…๋ ฅ๋œ URL์˜ ์•ž๊ธ€์ž๋“ค์„ ํฌํ•จํ•˜๋Š” ์™„๊ฒฐ๋œ ํ˜•ํƒœ์˜ URL๋“ค์„ ์„ ํƒํ•˜๊ฒŒ ํ•ด์ค€๋‹ค.

๋‘˜ ๋‹ค ํ”ํžˆ ๋งํ•ด URL ์ž๋™์™„์„ฑ์ด๋‹ค.

์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฌธ์ž

URL์€ ํƒœ์ดˆ๋ถ€ํ„ฐ ์ธํ„ฐ๋„ท์— ์žˆ๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ฒŒ ์ž˜ ์ „๋‹ฌ๋  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์กŒ๋‹ค.

โ€˜์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กโ€™์ด๋ผ๋Š” ๋œป์€ ์ •๋ณด๊ฐ€ ์œ ์‹ค๋  ์œ„ํ—˜ ์—†์ด URL์„ ์ „์†กํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

๊ทธ๋ ‡๊ธฐ์— ์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด์„œ URL ์„ค๊ณ„์ž๋“ค์€ URL์˜ ์•ˆ์ •์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ๋Š” ํŠน์ • ๋ฌธ์ž๋ฅผ ์“ฐ์ง€ ์•Š๋„๋ก ๊ธˆ์ง€ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ url๋กœ ์ €์žฅํ•˜๊ฑฐ๋‚˜ url์„ db์ฒ˜๋Ÿผ ์“ฐ๋ ค๋Š” ์ƒ๋‚จ์ž๋“ค์ด ์ƒ๊ธฐ์ž ์ด์Šค์ผ€์ดํ”„๋ผ๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ๋ฌธ์ž๋ฅผ ์•ˆ์ „ํ•œ ๋ฌธ์ž๋กœ ์ธ์ฝ”๋”ฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ทœ์น™์€ RFC 2616 ๋ฌธ์„œ์—๋„ ๋‚˜์™€ ์žˆ๋Š”๋ฐ, URL ์ธ์ฝ”๋”ฉ์€ ASCII ๋ฌธ์ž ์ง‘ํ•ฉ์œผ๋กœ ์ธ์ฝ”๋”ฉ ํ•˜๋Š” ๊ฒƒ์ด ํ‘œ์ค€์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„์Šคํ‚ค ๋ฌธ์ž ์ฝ”๋“œ์— ํฌํ•จ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ž์— ๋Œ€ํ•ด์„œ๋Š” ๋ณ€ํ™˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์ธ์ฝ”๋”ฉ ๊ณผ์ •์—์„œ ํผ์„ผํŠธ ๊ธฐํ˜ธ๊ฐ€ ๋งŽ์ด ์ƒ๊ธฐ๋ฏ€๋กœ ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

ํผ์„ผํŠธ ์ธ์ฝ”๋”ฉ

Percent-encodingย ์€ย URLย ๋งฅ๋ฝ์—์„œ ํŠน์ • ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š” 8๋น„ํŠธ ๋ฌธ์ž๋กœ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค. ์ธ์ฝ”๋”ฉ์€ โ€™%โ€™ ๋‹ค์Œ์— ๋ณ€๊ฒฝํ•  ๋ฌธ์ž๋ฅผ ASCII ๊ฐ’์œผ๋กœ ํ‘œํ˜„๋˜๋Š” 16์ง„์ˆ˜๊ฐ€ ์œ„์น˜ํ•˜๋Š” ๋Œ€์ฒด ๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

URL ๋ฌธ์ž ์ง‘ํ•ฉ

์ปดํ“จํ„ฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์˜์–ด ์ค‘์‹ฌ์œผ๋กœ ๋ฌธ์ž ์ง‘ํ•ฉ์ด ์„ค์ •๋˜์–ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— US-ASCII ๋ฌธ์ž ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•ด๋‹น ๋ฌธ์ž ์ง‘ํ•ฉ์€ 7๋น„ํŠธ๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๊ฐ ๋ฌธ์ž๊ฐ€ ์ „์„ธ๊ณ„ ์–ธ์–ด๋ฅผ ์ˆ˜์šฉํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ์— 8๋น„ํŠธ์˜ ASCII ์ฝ”๋“œ๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค.

๋‚˜์ค‘์—๋Š” ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์ƒ๊ฒผ์ง€๋งŒ ๊ธฐ์กด์˜ ASCII ์ฝ”๋“œ์—์„œ๋Š” ๋ฌธ์ž ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์œ„ํ•œ ๋ฌธ์ž ์ง‘ํ•ฉ์ด์—ˆ์œผ๋ฏ€๋กœ, ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์šฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ASCII ์ฝ”๋“œ์—์„œ ๋‹ค๋ฅธ ๋ฌธ์ž ์ง‘ํ•ฉ์œผ๋กœ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  Base64, uuencode๊ฐ™์ด ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋ฅผ ๋„์ž…ํ•˜์—ฌ ์ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ASCII ์ฝ”๋“œ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค.

๋ฌธ์ž ์ œํ•œ

๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฌธ์ž ์ง‘ํ•ฉ์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ๋ช‡๋ช‡ ์˜ˆ์™ธ์ผ€์ด์Šค๊ฐ€ ์žˆ๋Š”๋ฐ, ๋ช‡๋ช‡ ๋ฌธ์ž๊ฐ€ ์ด๋ฏธ URL ๋‚ด์—์„œ ํŠน๋ณ„ํ•œ ์˜๋ฏธ๋กœ ์˜ˆ์•ฝ๋˜์–ด์žˆ๋Š” ๋ฌธ์ž๋‚˜ ๋‹ค๋ฅธ ์˜ˆ์™ธ ๋ฌธ์ž๋“ค์„ ์ธ์ฝ”๋”ฉ์„ ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ์˜ค๋ฅ˜์˜ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ๊ทธ ์ „์— ์ธ์ฝ”๋”ฉ์„ ๊ผญ ํ•˜๋„๋ก ํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ URL์„ ์ธ์ฝ”๋”ฉํ•˜๋Š” ์—ญํ• ์€ ์šฐ๋ฆฌ๊ฐ€ ์ฒ˜์Œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๊ฐ€์žฅ ์•ž๋‹จ์˜ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ด๋ฅผ ๋ฏธ๋ฆฌ ์ฒ˜๋ฆฌํ•ด์„œ ์ธ์ฝ”๋”ฉํ•  ๊ฒƒ๋“ค์„ ๊ณจ๋ผ ์ธ์ฝ”๋”ฉํ•œ ํ›„ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๋ฒ ์ŠคํŠธ์ด๋‹ค.

Scheme๊ณผ ๊ฐ€๊นŒ์›Œ์ง€๊ธฐ

์•ž์—์„œ ์–˜๊ธฐํ–ˆ๋˜ Scheme์€ ๊ฐ„๋‹จํ•˜๊ฒŒ๋งŒ ์„ค๋ช…ํ–ˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ํ”„๋กœํ† ์ฝœ์„ ๋‹ค๋ฃจ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋‹นํžˆ ์ค‘์š”ํ•˜๋‹ค.

์Šคํ‚ด์„ค๋ช…
http- ์ผ๋ฐ˜ URL ํฌ๋งท์„ ์ง€ํ‚ค๋Š” ํ•˜์ดํผํ…์ŠคํŠธ ์ „์†ก ํ”„๋กœํ† ์ฝœ
- ํฌํŠธ๋ฒˆํ˜ธ ๊ธฐ๋ณธ๊ฐ’ 80
https- HTTP ์ปค๋„ฅ์…˜์˜ ์–‘ ๋๋‹จ์—์„œ ์•”ํ˜ธํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๋„ท์Šค์ผ€์ดํ”„์—์„œ ๊ฐœ๋ฐœํ•œ ๋ณด์•ˆ ์†Œ์ผ“ ๊ณ„์ธต(Sercure Sockets Layer, SSL)์„ ์‚ฌ์šฉ
- ํฌํŠธ๋ฒˆํ˜ธ ๊ธฐ๋ณธ๊ฐ’ 443
malito- ์ด๋ฉ”์ผ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์Šคํ‚ด
ftp- ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ(File Transfer Protocol)๋กœ FTP ์„œ๋ฒ„์— ์žˆ๋Š” ํŒŒ์ผ์„ ๋‚ด๋ ค๋ฐ›๊ฑฐ๋‚˜ ์˜ฌ๋ฆฌ๊ณ  ๊ฐ€์ ธ์˜ฌ ๋•Œ ์‚ฌ์šฉ
rtsp,rtspu- ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ํ”„๋กœํ† ์ฝœ(Real Time Streaming Protocol)์„ ํ†ตํ•ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์˜ค๋””์˜ค ๋ฐ ๋น„๋””์˜ค์™€ ๊ฐ™์€ ๋ฏธ๋””์–ด ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž
- rtspu๋ฒ„์ „์€ UDP ํ”„๋กœํ† ์ฝœ์ด ์‚ฌ์šฉ๋ผ์„œ u๊ฐ€ ๋ถ™์Œ
file- ๋กœ์ปฌ์—์„œ ๋ฐ”๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ URL ํฌ๋งท์— ๋”ฐ๋ผ ๋งŒ๋“  URL
- file://<ํ˜ธ์ŠคํŠธ>/๊ฒฝ๋กœ์˜ ํ˜•์‹
news- ํŠน์ • ๋ฌธ์„œ๋‚˜ ๋‰ด์Šค ๊ทธ๋ฃน์— ์ ‘๊ทผํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ
- ๋ฆฌ์†Œ์Šค ์œ„์น˜ ์ •๋ณด๋ฅผ ์ถฉ๋ถ„ํžˆ ํฌํ•จํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ทธ ์ •๋ณด๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•Œ์•„๋‚ด์•ผ ํ•œ๋‹ค
- ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋‰ด์Šค ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์น˜์— ๋…๋ฆฝ์ ์ด๋‹ค.
telnet- ๋Œ€ํ™”ํ˜• ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋œ๋‹ค
- telnet://<์‚ฌ์šฉ์ž ์ด๋ฆ„>:<๋น„๋ฐ€๋ฒˆํ˜ธ>@<ํ˜ธ์ŠคํŠธ>:<ํฌํŠธ>/์˜ ํ˜•์‹

๋”ฅ๋งํฌ

๋ชจ๋ฐ”์ผ ์›น ์„œ๋น„์Šค์—์„œ ๋‹ค๋ฅธ ์•ฑ์„ ์—ด์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์˜จ๋ผ์ธ ์‡ผํ•‘๋ชฐ์—์„œ ์นด๋“œ ๊ฒฐ์ œ๋ฅผ ์„ ํƒํ•˜๋ฉด ์„ ํƒํ•œ ์นด๋“œ์˜ ์•ฑ์„ ์‹คํ–‰ํ•ด์„œ ๊ฒฐ์ œ๋ฅผ ์™„๋ฃŒํ•œ๋‹ค. ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ๋ฅผ ํ•˜๋ฉด์„œ ๋ฐฐ์šฐ๊ฒŒ ๋œ ๊ฑด๋ฐ ๋ชจ๋ฐ”์ผ ํ™˜๊ฒฝ์—์„œ ์ด๋ ‡๊ฒŒ ๋‚ด ์›น ๋˜๋Š” ์•ฑ ์„œ๋น„์Šค์—์„œ ๋‹ค๋ฅธ ์•ฑ์˜ ํŠน์ • ํ™”๋ฉด์„ ๋ฐ”๋กœ ๋„์šฐ๊ฒŒ ํ•˜๋ ค๋ฉด **๋”ฅ๋งํฌ(Deep Link)**๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

๋”ฅ๋งํฌ๋ฅผ ๋งํ•œ ์ด์œ ๋Š” ์ด ๋˜ํ•œ URL์˜ ํ˜•์‹์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์šด์˜์ฒด์ œ๋งˆ๋‹ค๋„ ๊ฐ๊ฐ์˜ ์Šคํ‚ด์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์ด๋Ÿฐ ์‹์œผ๋กœ ์šด์˜์ฒด์ œ๋„ ์žˆ๊ณ , ์•ฑ ๋งˆ๋‹ค๋„ ๊ฐ์ž์˜ ์Šคํ‚ด์ด ์žˆ๋‹ค. ์ฃผ๋กœ bundle identifier๋‚˜ ์„ค์ • json ์—์„œ ๋ช…์‹œํ•œ schem์„ ์‚ฌ์šฉํ•œ๋‹ค.

com.example.app://somepath/details

์ด๋Ÿฐ ์‹์œผ๋กœ bundle identifier๋‚˜ ์ปค์Šคํ…€ scheme์ด ์•ž์— ๋ถ™๊ณ , ๊ทธ ๋’ค์— ๊ฐ๊ฐ ๋‚ด๊ฐ€ ์„ค์ •ํ•ด๋†“์€ url ๋Œ€๋กœ ์ด๋™ํ•˜๊ฒŒ ๋œ๋‹ค.

import * as Linking from 'expo-linking';
 
export default function Home() {
  const url = Linking.useURL();
 
  if (url) {
    const { hostname, path, queryParams } = Linking.parse(url);
 
    console.log(
      `Linked to app with hostname: ${hostname}, path: ${path} and data: ${JSON.stringify(
        queryParams
      )}`
    );
  }
 
  return (
  )
}