๐์ด๋ฒ์ CORSํฌ์คํ ์ ์ ๋ฆฌํ๋ฉด์ URL์ ๊ตฌ์กฐ์์ Origin์ ์ธ์ฉํ๋๋ฐ ์ ๋ถํฐ ์ ์์ง ๋ชปํ๋ URL๊ณผURN, URI์ ์์ธํ ์ ์๋ ๊ฐ๋ ์ ์ดํดํ๊ณ ์ ์ด๋ฒ ํฌ์คํ ์ ์ ๋ฆฌํ๊ฒ ๋์๋ค.
URL์ Uniform Resource Locator์ ์ฝ์๋ก ๋คํธ์ํฌ์์์ ํตํฉ ์์(Uniform Resource)์ ์์น(Locator)๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ๊ท์ฝ์ด๋ค.
์ฝ๊ฒ ๋งํด์, ์น ํ์ด์ง๋ฅผ ์ฐพ๊ธฐ์ํ ์ฃผ์๋ฅผ ๋งํ๋ค. ํํ ์น ์ฌ์ดํธ ์ฃผ์๋ก ์๊ณ ์์ง๋ง, URL์ ์น ์ฌ์ดํธ ์ฃผ์๋ฟ๋ง ์๋๋ผ ์ปดํจํฐ ๋คํธ์ํฌ์์ ์์์ ๋ชจ๋ ๋ํ๋ผ ์ ์๋ค. ๊ทธ ์ฃผ์์ ์ ์ํ๋ ค๋ฉด ํด๋น URL์ ๋ง๋ ํ๋กํ ์ฝ์ ์์์ผ ํ๊ณ , ๊ทธ์ ๋์ผํ ํ๋กํ ์ฝ๋ก ์ ์ํด์ผ ํ๋ค.
์ผ๋ฐ์ ์ธ URL์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
scheme://
<user>
:<password>
@<hostname>
:<port>
/<url-path>
๐์ด๋ ๊ฒ ๊ตฌ์กฐ์ ์ผ๋ก๋ง ๋ดค์ ๋๋ ์ฐ๋ฆฌ๊ฐ ํํ ์๊ณ ์๋ ์นํ์ด์ง์ URL๊ณผ ๋ค๋ฅด๊ฒ ๋ณด์ธ๋ค.
์ด์ ๋ ์๋ฌด๋๋ <user>
:<password>
@๊ฐ ๋ณด์์์ ์ด์ ๋ก ์๋ต๋๊ฑฐ๋ ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ด๋ค. ๋๋ถ๋ถ์ ์น ์ฌ์ดํธ์์๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ URL์ ํฌํจ์ํค์ง ์๋ ๋์ ์ ์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฟ ํค๋ ์ธ์
, HTTP ๊ธฐ๋ณธ ์ธ์ฆ ๋ฑ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ ์ ๋ฌํ๋ค.
๐์ด๋ฌํ ์ฌ์ฉ์๋ช ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ์ธํ๊ฒ๋ URL์ ๋ณด๋ฉด ๊ฐ๋ฐ์๊ฐ ๋ณด์์ ๋ ์ต์ํ URL์ด ๋์จ๋ค.
scheme://
<hostname>
:<port>
/<url-path>
ex)http:// localhost : 3000 / posts
๐ํ์ง๋ง ์ด ๋ํ ์ผ๋ฐ์ฌ์ฉ์์ ์ ์ฅ์์๋ ์๊ธฐ ์ด๋ ค์ด ๋ชจ์์ด๋ค. ์ฐ๋ฆฌ๊ฐ ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌํ๋ ๊ณผ์ ์์ ํ๋ก์ ํธ ์๋ฒ์ host(hostname๊ณผ port)๋ฅผ domain์ ๊ตฌ๋งคํ์ฌ ๋ฑ๋กํ๊ณ ๋ฐฐํฌํ๋ฉด ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์๊ฐ ์๊ณ ์๋ ํํ์ URL์ ์๋์ ๊ฐ์ ํ์์ ๊ฐ์ง๊ฒ ๋๋ค.
protocol://
domain
/url-path
ex)https://mail.naver.com
/v2/folders/0/all
URN์ Uniform Resource Name์ ์ฝ์๋ก ๋คํธ์ํฌ์์์ ํตํฉ ์์(Uniform Resource)์ ์ด๋ฆ(Name)๋ฅผ ๋ํ๋ด๊ธฐ ์ํ ๊ท์ฝ์ด๋ค.
URN์ ๋ฆฌ์์ค์ ์์น, ํ๋กํ ์ฝ, ํธ์คํธ ๋ฑ๊ณผ๋ ์๊ด์์ด ๊ฐ ์์์ ๋ถ์ฌํ ์ด๋ฆ์ ๋ํ๋ธ๋ค.
์น ๋ฌธ์์ ๋ฌผ๋ฆฌ์ ์ธ ์์น์ ์๊ด์์ด ์น ๋ฌธ์ ์์ฒด๋ฅผ ๋ํ๋ธ๋ค.
์ด์ฒ๋ผ ๊ฐ๋ณ ์์์ ์๋ณ์๋ฅผ ๋ถ์ฌํ๊ฒ ๋๋ฉด ํด๋น ์ ๋ณด์ ๋ํ URN์ ์ผ์ ํ๊ฒ ์ ์ง๋๋ฉฐ ๋ฆฌ์์ค์ ์์น, ํ๋กํ ์ฝ, ํธ์คํธ์ ๊ด๊ณ์์ด ์์น๋ฅผ ํ์ ํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
์๋ฅผ ๋ค์ด, ์น ๋ฌธ์๊ฐ ๋ค๋ฅธ ์น ์๋ฒ๋ก ์ด๋ํ๊ฑฐ๋ ์ฃผ์๊ฐ ๋ฐ๋๋ ๋ฑ ๋ฌผ๋ฆฌ์ ์์น๊ฐ ๋ณ๊ฒฝ๋๋๋ผ๋ ํด๋น ๋ฌธ์์ฐพ์ ์ ์๋ค๋ ๊ฒ์ด๋ค.
URN์ ์ผ๋ฐ์ ์ผ๋ก ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
urn:
<NID>
:<NSS>
ex)urn:def://blue_laser
urn: URN์ ๋ํ๋ด๋ scheme ์ด๋ฆ์ด๋ค.
NID (Namespace Identifier): URN์ด ์ฌ์ฉํ๋ namespace์ ์๋ณ์์ด๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ํ๋ฒณ๊ณผ ์ซ์๋ก ๊ตฌ์ฑ๋๋ค.
NSS (Namespace-specific String): URN ๋ด์์ ์ ์ผํ ์๋ณ์์ด๋ค. Namespace์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
URI๋ Uniform Resource Identifier์ ์ฝ์๋ก ์ง์ญํ๋ฉด ํตํฉ ์์ ์๋ณ์๋ก ์ธํฐ๋ท ์์์ ๋ํ๋ด๋ ๊ณ ์ ์๋ณ์๋ฅผ ์๋ฏธํ๋ค.
์ฆ, URI๋ ์ธํฐ๋ท์์ ๋ฆฌ์์ค โ์์ ์์ฒดโ๋ฅผ ์๋ณํ๋ ๊ณ ์ ํ ๋ฌธ์์ด ์ํ์ค์ด๋ค.
์ฝ๊ฒ ์๊ฐํ๋ฉด, URI์ I ๊ฐ Identifier๋ก ์ธํฐ๋ท์ ์๋ ์๋ฃ์ ๊ณ ์ id๋ผ๊ณ ์๊ฐํ ์ ์๋ค.
๐โURI๋ ์๋ณ์๋ฅผ ๋ํ๋ธ๋ค. ๊ทธ๋ ๋ค๋ฉด URL(์ฃผ์ ์์น์ ๋ณด)์ด๋ URN(์ด๋ฆ)์ ์๋ณ์๋ผ๊ณ ํ ์ ์์๊น?
๋ฏธ๋ฆฌ ์ ๋ต์ ๋ง์ํ๋ฉด "๊ทธ๋ ๋ค"์ด๋ค.
๐๊ฐ๋จํ๊ฒ ์ฐ๋ฆฌ์ง
์ ์๋ฅผ ๋ค์ด๋ณด์.
์ฐ๋ฆฌ์ง์ ์ฃผ์
๋ก ๋ค๋ฅธ์ง๊ณผ ์ฐ๋ฆฌ์ง์ ์๋ณํ ์ ์์๊น? => ์๋ค.
์ฐ๋ฆฌ์ง
์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ค๋ฅธ์ง๊ณผ ์ฐ๋ฆฌ์ง์ ์๋ณํ ์ ์์๊น? => ์๋ค.
์ด์ฒ๋ผ URI๋ผ๋ ์๋ณ์๋ URL๊ณผ URN์ ๋ชจ๋ ํฌํจํ ์ ์๋ค.
URL์ URI๊ฐ ๋ ์ ์๊ณ , URN ๋ํ URI๊ฐ ๋ ์ ์๋ค.
URI๋ ๋ ๊ฐ์ง ํํ๋ฅผ ๊ฐ์ง ์ ์๋ค. ์์ ์ค๋ช ํ๋ URL์ ๊ตฌ์กฐ or URN์ ๊ตฌ์กฐ ํํ๋ฅผ ๊ฐ์ง๋ค.
URL(Uniform Resource Locator) | URN(Uniform Resource Name) | URI(Uniform Resource Identifier) | |
---|---|---|---|
์ ์ | ๋ฆฌ์์ค์ ์์น๋ฅผ ์๋ณ | ๋ฆฌ์์ค์ ์ด๋ฆ์ ์๋ณ | ์ธํฐ๋ท์์ ํน์ ๋ฆฌ์์ค๋ฅผ ์๋ณ |
๊ตฌ์ฑ์์ | ํ๋กํ ์ฝ, ํธ์คํธ, ํฌํธ, ๊ฒฝ๋ก, ์ฟผ๋ฆฌ, ํ๋๊ทธ๋จผํธ | ๊ณ ์ ๋์ง ์์(๋ฆฌ์์ค์ ์ด๋ฆ๋ง ์๋ณ) | URL + URN |
์์ | https://www.example.com | urn:isbn:0-13-089572-X | https://www.example.com urn:isbn:0-13-089572-X |
์ฉ๋ | ์ธํฐ๋ท์์ ๋ฆฌ์์ค ์์น๋ฅผ ์ฐพ์ ๋ ์ฌ์ฉ | ์ธํฐ๋ท์์ ๋ฆฌ์์ค ์ด๋ฆ์ ์ฐพ์ ๋ ์ฌ์ฉ | ์ธํฐ๋ท์์ ๋ฆฌ์์ค๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ ๋ ์ฌ์ฉ |
์ฌ์ฉ ์์ | ์น ๋ธ๋ผ์ฐ์ , REST API ๋ฑ | ์น ๋ธ๋ผ์ฐ์ ๋ฑ | ์น ๋ธ๋ผ์ฐ์ , REST API ๋ฑ |
์ฐธ๊ณ ์๋ฃ(์ถ์ฒ)
์ํค๋ฐฑ๊ณผ ๊ฒ์๊ฒฐ๊ณผ [URL]
beusable ๋ธ๋ก๊ทธ ํฌ์คํ
๋ฐ์ดํฐ ๋ถ์์ ์ํ ๊ธฐ์ด, URL ์ดํดํ๊ธฐ
์ฐฐ์ค์ ์๋๋ก์ด๋ ํฌ์คํ
URI๋ URL ์ฐจ์ด์ ์ด ๋ญ๋ฐ?
ELANCER ๋ธ๋ก๊ทธ ํฌ์คํ
URI์ URL, ์ด๋ค ์ฐจ์ด์ ์ด ์๋์?
ํฐ์คํ ๋ฆฌ ์์ํ ๋ธ๋ก๊ทธ ํฌ์คํ
URI (Uniform Resource Identifier)