์๋ ํ์ธ์!
๋ ์ธํ๋ฐ ๊น์ํ ๊ฐ์ฌ๋ ๊ฐ์๋ฅผ ๋ณด๊ณ ๊ณต๋ถ ์ ๋ฆฌ ์์ํด๋ณด๊ฒ ์ต๋๋ค.
๊ณ ๊ณ !!

1. URI (Uniform Resource Identifier)
1-1. URI ๊ฐ๋ตํ ์ค๋ช
๋จผ์ , ๊ฐ๋จํ๊ฒ URI์ ๋ํด์ ์ค๋ช ํด๋ณด๊ฒ ์ต๋๋ค.
URI๋ ๋ง ๊ทธ๋๋ก ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํตํฉ๋ ๋ฐฉ๋ฒ์ ๋ปํฉ๋๋ค.
URI๋ ๋ก์ผ์ดํฐ(locator), ์ด๋ฆ(name) ๋๋ ๋ ๋ค ์ถ๊ฐ๋ก ๋ถ๋ฅ๋ ์ ์๋๋ฐ ์ด๊ฑด ๊ทธ๋ฆผ์ผ๋ก ํ๋ฒ ๋ด๋ณด๊ฒ ์ต๋๋ค.
URI๋ผ๋ ํฐ ๊ฐ๋ ์์ ์๋ URL๊ณผ URN์ ๋ญ๊น์?
URL์ ๋ก์ผ์ดํฐ! ์ฆ, ๋ฆฌ์์ค์ ์์น๋ฅผ ๋ปํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , URN์ ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋ปํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ ๊ฐ URL์๋ง ํ๊ดํ ํ์ ํด๋๊ณ URN์ ๊ทธ๋ฅ ๋๋ ์ด์ ๊ฐ ๋ญ๊น์?
URN์ ์ฌ์ค ์ด๋ฆ๋ง์ผ๋ก๋ ๊ทธ ์ ๋ณด๋ฅผ ์ฐพ๋๊ฒ ์ด๋ ค์์ ๊ฑฐ์ ์ ์๋๋ค. ๊ทธ๋์ ๊ทธ๋ฅ ์ด๋ฐ๊ฒ ์๊ตฌ๋.. ์ ๋๋ง ์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋์ ๋๋ถ๋ถ์ URL๋ก ์ฌ์ฉ์ ํ๊ณ , ์์ผ๋ก URI์ URL์ ๊ฐ์ ์๋ฏธ๋ก ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ตฌ์ฒด์ ์ผ๋ก URI์ URL, URN์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค.
1-2. URI (Uniform Resource Identifier) ๋ป
- Uniform: ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํต์ผ๋ ๋ฐฉ์
- Resource: ์์, URI๋ก ์๋ณํ ์ ์๋ ๋ชจ๋ ๊ฒ(์ ํX)
- ์ฌ๊ธฐ์ ์์์ ์น๋ธ๋ผ์ฐ์ ํ์ผ ๊ฐ์ ๊ฒ๋ง์ด ์๋๋ผ ์ค์๊ฐ ๊ตํต ์ ๋ณด ๊ฐ์ ์ฐ๋ฆฌ๊ฐ ๊ตฌ๋ถํ ์ ์๋ ๋ชจ๋ ๊ฒ์ ๋ปํฉ๋๋ค.
- Identifier: ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ๊ตฌ๋ถ(์๋ณ)ํ๋๋ฐ ํ์ํ ์ ๋ณด
1-3. URL (Uniform Resource Locator), URN (Uniform Resource Name) ๋ป
- URL - Locator: ๋ฆฌ์์ค๊ฐ ์๋ ์์น๋ฅผ ์ง์
- ์์) foo://example.com:8042/over/there?/name=ferret#nose
- URN - Name: ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋ถ์ฌ
- ์์) urn:example:animal:ferret:nose
- ์์) urn:isbn:8960777331 (์ด๋ค ์ฑ ์ isbn URN)
- ์ฌ๊ธฐ๋ก ๋ค์ด๊ฐ๋ค๊ณ ํด์ ์ฑ ์ด ๋ฑ ๋์์์ง ์์ต๋๋ค. (URN์ ํ๊ณ)
- URN ์ด๋ฆ๋ง์ผ๋ก ์ค์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ ๋์ง ์์์ต๋๋ค.
- ์์น๋ ๋ณํ ์ ์์ง๋ง, ์ด๋ฆ์ ๋ณํ์ง ์์ต๋๋ค.
- ex) ์ญ์ ์ง =>URN์ ์ญ, URL์ ์ง
1-4. URL ๋ถ์ ๋ฐ ์ ์ฒด ๋ฌธ๋ฒ
1-4(1). URL=> scheme
- ์์ ๊ทธ๋ฆผ์์ https์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- ์ฃผ๋ก ํ๋กํ ์ฝ์ ์ฌ์ฉํฉ๋๋ค.
ํ๋กํ ์ฝ์ด๋?
์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผํ ๊ฒ์ธ๊ฐ ํ๋ ์ฝ์ ๊ท์น
ex) http, https, ftp ๋ฑ
- http๋ 80 ํฌํธ, https๋ 443 ํฌํธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ๊ณ , ์ด ๋ ํฌํธ๋ ์๋ต ๊ฐ๋ฅํฉ๋๋ค.
- https๋ http์ ๊ฐ๋ ฅํ ๋ณด์์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค. (HTTP Secure)
1-4(2). URL=> userinfo
- ์์ ๊ทธ๋ฆผ์์ [userinfo@] ๋ถ๋ถ์ ๋๋ค.
- URL์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆํ๋ ๋ถ๋ถ์ด๊ณ , ๊ฑฐ์ ์ฌ์ฉํ์ง ์์ต๋๋ค. (์์์ ์๋ ์ด์ )
1-4(3). URL=> host
- ์์ ๊ทธ๋ฆผ์์ www.google.com์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- ํธ์คํธ๋ช ์ด๊ณ , ๋๋ฉ์ธ๋ช ๋๋ IP ์ฃผ์๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
1-4(4). URL=> PORT
- ์์ ๊ทธ๋ฆผ์์ 443์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- ์ ์ ํฌํธ์ด๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์๋ตํ๋ฉฐ, ์๋ต ์์ http๋ 80์ด๊ณ https๋ 443 ์
๋๋ค.
- ํน์ ์๋ฒ์ ๋ฐ๋ก ์ ์ํ ๋์๋ PORT ๋ฒํธ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
1-4(5). URL=> path
- ์์ ๊ทธ๋ฆผ์์ search์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- ๋ฆฌ์์ค ๊ฒฝ๋ก(path)์ด๋ฉฐ, ๊ณ์ธต์ ๊ตฌ์กฐ์ ๋๋ค.
์ ๊ณ์ธต์ ๊ตฌ์กฐ์ผ๊น?
๊ณ์ธต์ ๊ตฌ์กฐ๋ก ๋์ด์์ด์ผ ์ดํดํ๊ธฐ ์ฝ๊ณ , ์ฐพ๊ธฐ๋ ์ฌ์์ง๊ธฐ ๋๋ฌธ์ ๋๋ค.
ex) /home/file1.jpg => home์์ file1.jpg
/items/iphone12
/members
/members/100 => members๋ผ๋ ๋๋ ํ ๋ฆฌ ์์ id๊ฐ 100๋ฒ์ธ ์ฌ๋๋์ถฉ ์๋ฐ ๋๋..?
1-4(6). URL=> query
- ์์ ๊ทธ๋ฆผ์์ ?q=hello&hl=ko์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- key=value ํํ์ ๋๋ค.
- ?๋ก ์์ํ๊ณ , &๋ก ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
- ?keyA=valueA&keyB=valueB
- query parameter (์น์๋ฒ์ ์ ๊ณตํ๋ ํ๋ผ๋ฏธํฐ), query string (๋ฌธ์ ํํ) ๋ฑ์ผ๋ก ๋ถ๋ฆฝ๋๋ค.
1-4(7). URL=> fragment
- ์์ ๊ทธ๋ฆผ์์ [#fragment]์ ํด๋นํ๋ ๋ถ๋ถ์ ๋๋ค.
- ex)https://~~~/~~#getting-started-introducing-spring-boot
- html ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉํ๊ณ , ์๋ฒ์ ์ ์กํ๋ ์ ๋ณด๊ฐ ์๋๋๋ค.
- ์ ์ฌ์ฉํ์ง๋ ์์ต๋๋ค.
2. ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
1. ๊ตฌ๊ธ DNS ์กฐํํด์ IP๋ฅผ ์ฐพ์ต๋๋ค.
2. ๊ฑฐ๊ธฐ์ ๋์จ PORT ๋ฒํธ๋ฅผ ํตํด HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ์์ฑํฉ๋๋ค.
<HTTP ์์ฒญ ๋ฉ์์ง ์์>
GET /search?q=hello&hl=ko HTTP/1.1 (๋ฒ์ ์ ๋ณด)
Host: www.google.com (ํธ์คํธ ์ ๋ณด)
2-1. HTTP ๋ฉ์์ง ์ ์ก
1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTTP ๋ฉ์์ง๋ฅผ ์์ฑํฉ๋๋ค.
2. SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌํฉ๋๋ค.
-A: TCP/IP ์ฐ๊ฒฐ(IP, PORT)
-B: ๋ฐ์ดํฐ ์ ๋ฌ
3. TCP/IP ํจํท ์์ฑํ๊ณ , HTTP ๋ฉ์์ง ํฌํจํฉ๋๋ค.
2-1(1). ํจํท ์์ฑ
2-1(2). HTTP ์์ฒญ ๊ณผ์
HTTP ์์ฒญ ๊ณผ์ ๊ณผ ์๋ต ๊ณผ์ ์ ๊ทธ๋ฆผ์ผ๋ก ๋ณด๋๊ฒ ์ดํด๊ฐ ๋ ๋นจ๋ผ์ ๊ทธ๋ฆผ์ผ๋ก๋ง ์ค๋ช ํ๊ฒ ์ต๋๋ค.
1. ์์ฒญ ํจํท ์ ๋ฌ
2. ์์ฒญ ํจํท ๋์ฐฉ
<HTTP ์๋ต ๋ฉ์์ง>
2-1(3). HTTP ์๋ต ๊ณผ์
1. ์๋ต ํจํท ์ ๋ฌ
2. ์๋ต ํจํท ๋์ฐฉ
3. ์ต์ข !! ์น ๋ธ๋ผ์ฐ์ HTML ๋ ๋๋ง!!
'STUDY๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP] 6. HTTP ์ํ ์ฝ๋ (0) | 2025.03.06 |
---|---|
[HTTP] 5. HTTP ๋ฉ์๋ ํ์ฉ (0) | 2025.03.03 |
[HTTP] 4. HTTP ๋ฉ์๋ (0) | 2025.03.02 |
[HTTP] 3. HTTP ๊ธฐ๋ณธ (2) | 2025.02.28 |
[HTTP] 1. ์ธํฐ๋ท ๋คํธ์ํฌ(internet-network) (0) | 2025.02.27 |