๊ฐ๋ฐ ์ง์/WEB ์ง์
๐ URL ๊ตฌ์ฑ ์์ & ์์ฒญ ํ๋ฆ ์ ๋ฆฌ
์ธํ_
2022. 12. 11. 11:20
URL ๊ตฌ์ฑ ์ดํดํ๊ธฐ
- ํ๋กํ ์ฝ : https
- ํธ์คํธ๋ช : www.google.com
- ํฌํธ๋ฒํธ : 443
- ํจ์ค : /search
- ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ : q=hello&hl=ko
scheme
- ์ฃผ๋ก ํ๋กํ ์ฝ(์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผํ ๊ฒ์ธ๊ฐ ํ๋ ์ฝ์ ๊ท์น) ์ฌ์ฉ
- ์) http, https, ftp ๋ฑ๋ฑ
- http๋ 80 ํฌํธ, https๋ 443 ํฌํธ๋ฅผ ์ฃผ๋ก ์ฌ์ฉ, ํฌํธ๋ ์๋ต ๊ฐ๋ฅ
userinfo
- URL์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆ
- ์์ฆ์ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์
host
- ํธ์คํธ๋ช (www.google.com)
- ๋๋ฉ์ธ๋ช ๋๋ IP ์ฃผ์๋ฅผ ์ง์ ์ฌ์ฉ ๊ฐ๋ฅ
port
- ์ ์ ํฌํธ
- ์ผ๋ฐ์ ์ผ๋ก ์๋ต ๊ฐ๋ฅ
- ์๋ต ์ http๋ 80, https๋ 443 ํฌํธ ๋ฒํธ๋ก ์ค์ ๋๋ค.
- ํฐ์บฃ์ 8080 ํฌํธ๋ฅผ ์ฌ์ฉ
path
- ๋ฆฌ์์ค ๊ฒฝ๋ก(path)
- ๊ณ์ธต์ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋จ
- /home/file1.jpg
- /members
- /members/100
- /items/iphone12
query
- query parameter, query string ๋ฑ์ผ๋ก ๋ถ๋ฆผ, ์น์๋ฒ์ ์ ๊ณตํ๋ ํ๋ผ๋ฏธํฐ, ๋ฌธ์ ํํ
- key=value ํํ
- ?๋ก ์์๋๋ฉฐ, &๋ก ์ฌ๋ฌ๊ฐ ์ถ๊ฐ ๊ฐ๋ฅ
- ex) ?keyA=valueA&keyB=valueB
fragment
- html ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉ
- ์น๋ฌธ์ ํด์ํํฌ๋ผ๊ณ ๋ ๋ถ๋ฆผ
- ์๋ฒ์ ์ ์กํ๋ ์ ๋ณด ์๋
URL์ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
๋ค์ URL์ ๊ฐ์ง๊ณ https://google.com/search?q=hello&hl=ko ์ด๋ป๊ฒ ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์์ฒญํด์ ์งํ๋๋์ง ์ง๊ธ๊น์ง ๋ฐฐ์ด์ง์์ ํ ๋๋ก ํ๋ฆ์ ํ์ ํด๋ณด์.
1. DNS ์๋ฒ๋ฅผ ์กฐํํด์ IP์ ํฌํธ ์ ๋ณด๋ฅผ ๋ฐ๋๋ค.
2. ์ ๋ณด๋ฅผ ํ ๋๋ก HTTP ์์ฒญ ๋ฉ์์ง๋ฅผ ์์ฑํ๋ค.
3. ์๋ฒ์ HTTP ๋ฉ์์ง ์ ์ก
- ์น๋ธ๋ผ์ฐ์ ์ SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ด์ฉํด์ TCP/IP ์ปค๋ฅ์ ์ฐ๊ฒฐ ์์ฒญ
- ์ด์ ๋จ๊ณ์์ ์ฐพ์ IP์ PORT์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ SYN, SYN+ACK, ACK ๊ณผ์ (3 way handshake)์ ํตํด ์๋ฒ์ ์ฐ๊ฒฐ์ ํ๋ค.
- ์ฐ๊ฒฐ์ด ์ฑ๊ณต๋๋ฉด TCP/IP 4 ๊ณ์ธต์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ค.
- HTTP ๋ฉ์์ง๋ฅผ ํฌํจํ TCP/IP ํจํท ์์ฑํ์ฌ ์๋ฒ๋ก ์ ์กํ๊ฒ ๋๋ค.
4. ์๋ฒ๋ ํจํท์ ๋ฐ์ผ๋ฉด TCP/IP ํจํท์ ๊น๊ณ HTTP ๋ฉ์์ง๋ฅผ ๊ฐ์ง๊ณ ํด์
5. ๊ทธ ํ html ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์๋ต ๋ฉ์์ง๋ฅผ ๋ง๋ค์ด์ ํด๋ผ์ด์ธํธ์ ๋ฐํ
6. ํด๋ผ์ด์ธํธ์์๋ ์๋ต๋ฉ์ธ์ง๋ฅผ ๋ฐ์ ํ๋ฉด์ ๋ ๋๋ง
# ์ฐธ๊ณ ์๋ฃ
๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์ - ๊น์ํ