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
- scheme
- ์ฃผ๋ก ํ๋กํ ์ฝ ์ฌ์ฉ
- ํ๋กํ ์ฝ: ์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผํ ๊ฒ์ธ๊ฐ ํ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ฝ์ ๊ท์น
- ์) http, https, ftp ๋ฑ
- http : 80, https : 443 ์ฃผ๋ก ์ฌ์ฉ
- https๋ http์ ๊ฐ๋ ฅํ ๋ณด์ ์ถ๊ฐ๋ก ์ ์ฉ๋ ๊ฒ. (HTTP Secure)
- userinfo
- URL์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆ
- ๊ฑฐ์ ์ฌ์ฉ X
- host
- ํธ์คํธ๋ช
- ๋๋ฉ์ธ๋ช ๋๋ IP ์ฃผ์ ์ง์ ์ฌ์ฉ ๊ฐ๋ฅ
- port
- ์ ์ ํฌํธ
- ์ผ๋ฐ์ ์ผ๋ก ์๋ต (→ ํน์ ์๋ฒ์ ๋ฐ๋ก ์ ๊ทผ ํ ๋๋ port๋ฅผ ์ ๋ ฅ)
- path
- ๋ฆฌ์์ค ๊ฒฝ๋ก, ๊ณ์ธต์ ๊ตฌ์กฐ
- /home/file1.jpg โก๏ธ home ์ด๋ผ๋ ๊ฒฝ๋ก์ file1.jpg๊ฐ ์๋ค.
- /members โก๏ธ ํ์๋ค์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒฝ๋ก์ด๋ค.
- /members/100, /items/iphone12 โก๏ธ 100๋ฒ์ ํ์์ ์ ๋ณด, ์์ดํ ์ค์ ์์ดํฐ12 ์ ๋ณด ๊ฒฝ๋ก์ด๋ค.
- ๋ฆฌ์์ค ๊ฒฝ๋ก, ๊ณ์ธต์ ๊ตฌ์กฐ
- query
- key=value ํํ
- ?๋ก ์์ํ๊ณ &๋ก ์ถ๊ฐ ๊ฐ๋ฅ → ?keyA=valueA&keyB=valueB
- query parameter, query string์ด๋ผ ๋ถ๋ฆผ, ์น ์๋ฒ์ ์ ๊ณตํ๋ ํ๋ผ๋ฏธํฐ, ๋ฌธ์ ํํ
- fragment
- HTML ๋ด๋ถ์์ ์ค๊ฐ์ ์ด๋ํ๊ณ ์ถ์ ๋ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉํ๋ค. ์ ์ฌ์ฉํ์ง ์๊ณ ์๋ฒ์ ์ ์กํ๋ ์ ๋ณด ์๋๋ค.