๊น์ํ๋์ ๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์์ ์๊ฐํ๋ฉด์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค.
1. URI (Uniform Resource Identifier)
- Uniform : ๋ฆฌ์์ค ์๋ณํ๋ ํต์ผ๋ ๋ฐฉ์ ์ ๋๋ค.
- Resource : URI๋ก ์๋ณํ ์ ์๋ ๋ชจ๋ ๊ฑธ ์์์ด๋ผ๊ณ ํฉ๋๋ค. ์น ๋ธ๋ผ์ฐ์ ์ ์๋ HTML์ ํ์ผ ๊ฒ๋ง ์์์ ๋ปํ๋ ๊ฒ ์๋๋ผ ์ค์๊ฐ ๊ตํต ์ ๋ณด ๋ฑ๋ฑ ์ด๋ฐ๊ฒ๋ ์์์ด๋ผ๊ณ ํฉ๋๋ค.
- Idenrifier : ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ๊ตฌ๋ถํ๋ ๋ฐ ํ์ํ ์ ๋ณด. ์ฌ๋์ ์๋ณํ ๋ ์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ฅผ ์๋ณ ํ๋ ๊ฒ์ฒ๋ผ.
URL (Uniform Resource Locator)
- Locator : ๋ฆฌ์์ค๊ฐ ์๋ ์์น๋ฅผ ์ง์ ํฉ๋๋ค.
URN (Uniform Resource Name)
- Name : ๋ฆฌ์์ค์ ์ด๋ฆ์ ๋ถ์ฌ ํฉ๋๋ค.
์์น๋ ๋ณํ ์ ์์ง๋ง ์ด๋ฆ์ ๋ณํ์ง ์์ต๋๋ค. ๋ํ URN ์ด๋ฆ๋ง์ผ๋ก ์ค์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ๋์ง ์์์ต๋๋ค.
URI, URL ์ ๋๋ง ์๊ณ , URI๋ฅผ URL๊ณผ ๊ฐ์ ์๋ฏธ๋ก ์๊ฐํ๊ณ ์ดํด ํ๋ฉด์ ๊ณต๋ถํ๋ฉด ๋ฉ๋๋ค.
2. URL ์ ์ฒด ๋ฌธ๋ฒ
ํด๋น ์์ ์ด๋ฆ : scheme :// [userinfo@]host[:port][/path][?query][#fragment]
์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ๋ณด๋ : https://www.google.com:443/search?q=hello&hl=ko
scheme
- ์ฃผ๋ก ํ๋กํ ์ฝ๋ฅผ ์ฌ์ฉ ํฉ๋๋ค.
- ์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผ ํ ๊ฒ์ธ๊ฐ ํ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ๊ท์น ์ ๋๋ค.
userinfo
- URL์ ์ฌ์ฉ์์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆํด์ผ ํ ๋ ์๋๋ฐ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
host
- ๋๋ฉ์ธ ์ด๋ฆ์ด๋ IP ์ฃผ์๋ฅผ ์ง์ ์ฌ์ฉ์ด ๊ฐ๋ฅ ํฉ๋๋ค.
port
- ์ ์ ํฌํธ
- ์ผ๋ฐ์ ์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ์์๋ ๋ง์ด ์๋ต ํ์ง๋ง, ํน์ ์๋ฒ์ ๋ฐ๋ก ์ ๊ทผ ํ ๋๋ port ๋ฒํธ ์ ๋ ฅ์ ํฉ๋๋ค.
path
- ๋ฆฌ์์ค๊ฐ ์๋ ๊ฒฝ๋ก์ด์, ๊ณ์ธต ๊ตฌ์กฐ๋ก ๋์ด์์ต๋๋ค. (ex. home/post)
query
- key ์ value ํํ๋ก ๋ฐ์ดํฐ๊ฐ ๋ค์ด ์์ต๋๋ค.
- ? ์์ํ๊ณ , &๋ก ์ถ๊ฐ์ ์ผ๋ก ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ ๋ ฅ ํฉ๋๋ค.
fragment
- HTML ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉ ํฉ๋๋ค.
- ์ ์ฌ์ฉํ์ง ์๊ณ , ์๋ฒ์ ์ ์กํ์ง ์์ต๋๋ค.
3. ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
1. ๋ธ๋ผ์ฐ์ ์ URL์ ์ ๋ ฅ
2. DNS ์๋ฒ๋ก IP๋ฅผ ์ฐพ์๋ด๊ณ ์๋ต๋ PORT๋ scheme๋ก ์ฐพ์ต๋๋ค.
3. ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ์์ฑ ํฉ๋๋ค.
4. SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด์ TCP/IP๋ก IP์ PORT ์ ๋ณด๋ฅผ ์ฐพ์ ๊ฑฐ๋ฅผ 3 way handshake ๋ฐฉ์์ผ๋ก ์๋ฒ๋ ์ฐ๊ฒฐ
5. HTTP ์์ฒญ ๋ฉ์์ง๋ OS์ ์๋ TCP/IP ๊ณ์ธต์ผ๋ก ์ ๋ฌ
6. TCP/IP ๊ณ์ธต์์ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํจํท์ผ๋ก ๋ฌถ์ต๋๋ค.
7. ์น ๋ธ๋ผ์ฐ์ ๊ฐ ๋ง๋ ์์ฒญ ํจํท์ ์๋ฒ์์ ๋์ฐฉํ๋ฉด ํจํท์ ์ด์ด์ HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ํ์ธํด ์๋ฒ๊ฐ ํด์ ํฉ๋๋ค.
8. ์๋ฒ๊ฐ HTTP ์๋ต ๋ฉ์์ง๋ฅผ ๋ง๋ค์ด์ TCP/IP ํจํท์ ๊ฐ์ธ์ ํด๋ผ์ด์ธํธ์๊ฒ ๋์ฐฉํ๋ฉด ํจํท์ ์ด๊ณ
HTTP ์๋ต ๋ฉ์์ง๋ฅผ ํ์ธํด์ ํด๋ผ์ด์ธํธ๊ฐ ํด์ ํฉ๋๋ค.
9. ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTML ๋ ๋๋ง์ ํด์ ํด๋ผ์ด์ธํธ๊ฐ HTML ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
'๐ป CS > WEB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[HTTP] - HTTP ๋ฉ์๋ (0) | 2023.02.17 |
---|---|
[HTTP] - HTTP ? (0) | 2022.12.01 |
[HTTP] - ์ธํฐ๋ท ๋คํธ์ํฌ (0) | 2022.11.25 |
[HTTP] - HTTP status code (0) | 2022.11.24 |