URL ์ธ์ฝ๋ฉ์ด๋? ํผ์ผํธ ์ธ์ฝ๋ฉ ์๋ฒฝ ๊ฐ์ด๋
URL ์ธ์ฝ๋ฉ(ํผ์ผํธ ์ธ์ฝ๋ฉ์ด๋ผ๊ณ ๋ ํจ)์ ํน์ ์ํฉ์์ URI(Uniform Resource Identifier)์ ์ ๋ณด๋ฅผ ์ธ์ฝ๋ฉํ๊ธฐ ์ํ ๋ฉ์ปค๋์ฆ์ ๋๋ค. URL์ ํ์ฉ๋์ง ์๋ ๋ฌธ์๋ฅผ ํผ์ผํธ ๊ธฐํธ์ ๋ ์๋ฆฌ 16์ง์ ์ซ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
URL ์ธ์ฝ๋ฉ์ด ํ์ํ ์ด์
์ธํฐ๋ท์ ASCII๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋์์ผ๋ฉฐ, ASCII๋ 128๊ฐ์ ๋ฌธ์๋ง ์ ์ํฉ๋๋ค. URL์ ๋นASCII ๋ฌธ์๋ ํน์ ๋ฌธ์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฒ๋ฆฌํ์ง ๋ชปํ ์ ์๋ ์์คํ ๊ฐ์ ์์ ํ๊ฒ ์ ์ก๋์ด์ผ ํฉ๋๋ค. URL ์ธ์ฝ๋ฉ์ ๊ณต๋ฐฑ, ์ ๋์ฝ๋ ๋ฌธ์, ํน์ ๊ธฐํธ ๋ฑ ๋ชจ๋ ๋ฌธ์๋ฅผ URL์ ์์ ํ๊ฒ ํฌํจํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด:
- ๊ณต๋ฐฑ โ
%20 @โ%40ไฝ ๅฅฝโ%E4%BD%A0%E5%A5%BD
์์ฝ ๋ฌธ์์ ๋น์์ฝ ๋ฌธ์
RFC 3986์ URL์ ๋ฌธ์๋ฅผ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ์ ์ํฉ๋๋ค:
๋น์์ฝ ๋ฌธ์ (์ธ์ฝ๋ฉ์ด ํ์ ์์): A-Z a-z 0-9 - _ . ~
์์ฝ ๋ฌธ์ (ํน๋ณํ ์๋ฏธ๋ฅผ ๊ฐ์ง๋ฉฐ, ๋ฆฌํฐ๋ด๋ก ์ฌ์ฉํ ๋ ์ธ์ฝ๋ฉ ํ์): : / ? # [ ] @ ! $ & ' ( ) * + , ; =
์์ฝ ๋ฌธ์๊ฐ URL ๊ตฌ์กฐ์ ์ผ๋ถ๊ฐ ์๋ ๋ฐ์ดํฐ์ ์ผ๋ถ๋ก ์ฌ์ฉ๋ ๊ฒฝ์ฐ, ํผ์ผํธ ์ธ์ฝ๋ฉํด์ผ ํฉ๋๋ค.
๊ฐ ์ธ์ฝ๋ฉ ํจ์์ ์ฌ์ฉ ์๊ธฐ
- encodeURI: ๊ตฌ์กฐ์ ๋ฌธ์๋ฅผ ๋ณด์กดํ๋ฉฐ ์ ์ฒด URL์ ์ธ์ฝ๋ฉํฉ๋๋ค
- encodeURIComponent: ๋จ์ผ URL ๋งค๊ฐ๋ณ์ ๋๋ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ธ์ฝ๋ฉํฉ๋๋ค
์๋ชป๋ ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์น ๊ฐ๋ฐ์์ ๊ฐ์ฅ ํํ ๋ฒ๊ทธ ์ค ํ๋์ ๋๋ค. ์ ํฌ URL ์ธ์ฝ๋/๋์ฝ๋์์ ๋ ๋ชจ๋๋ฅผ ์คํํด ๋ณด์ธ์.