๐ ๊น์ํ ๋์ "๋ชจ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ HTTP ์น ๊ธฐ๋ณธ ์ง์" ๊ฐ์ ๋ฃ๊ณ ์ ๋ฆฌ
๐URI (Uniform Resource Identifier)
* URI? URL? URN? ๋ง์ด ๋ฌถ์ฌ์ ๋ณด์ด๋ ๋จ์ด 3๊ฐ์ง
- URI : ์์์ ์๋ณํ๋ ์๋ณ์. URI๋ locater(URL), Name(URN) ๋๋ ๋๋ค ์ถ๊ฐ๋ก ๋ถ๋ฅ ๋ ์ ์๋ค.
- URL : ๋ฆฌ์์ค์ ์์น ์ง์ , ๊ฐ๋ณ์ฑ ๆ
- URN : ๋ฆฌ์์ค์ ์ด๋ฆ ๋ถ์ฌ, ๊ฐ๋ณ์ฑ ็ก, ์ด๋ฆ๋ง์ผ๋ก ๋ฆฌ์์ค๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ ๋์์ง ์๋ค.
URL(์)๊ณผ URN(์๋)์ ์์
* URI์ ๋ป
- Uniform : ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํต์ผ๋ ๋ฐฉ์
- Resource : ์์, URI๋ก ์๋ณํ ์ ์๋ ๋ชจ๋ ๊ฒ (์์์ ์ ํ ์์)
- Identifier : ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ๊ตฌ๋ถํ๋๋ฐ ํ์ํ ์ ๋ณด
* URL
scheme:// | [userinfo@] | host | [:port] | [/path] | [?query] | [#fragment] |
https:// | www.google.com | :443 | /search | q=hello&hl=ko | ||
ํ๋กํ ์ฝ | ํธ์คํธ๋ช | ํฌํธ๋ฒํธ | ํจ์ค | ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ |
- scheme (์คํค๋ง)
scheme์ ์ฃผ๋ก ํ๋กํ ์ฝ ์ฌ์ฉ
ํ๋กํ ์ฝ : ์ด๋ค ๋ฐฉ์์ผ๋ก ์์์ ์ ๊ทผํ ๊ฒ์ธ๊ฐ ์ฝ์ํ ๊ท์น
- userinfo@
URL์ ์ฌ์ฉ์์ ๋ณด๋ฅผ ํฌํจ์ ์ธ์ฆํ์ง๋ง ๊ฑฐ์ ์ฌ์ฉํ์ง ์๋๋ค.
- host
ํธ์คํธ๋ช ์๋ ๋๋ฉ์ธ๋ช ๋๋ IP์ฃผ์๋ฅผ ์ง์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค
- port
์ ์ ํฌํธ๋ก ์ผ๋ฐ์ ์ผ๋ก ์๋ต๋๋ฉฐ, ์๋ต์ http๋ 80, https๋ 443 ์ด ์๋ต๋๋ค.
- path
๋ฆฌ์์ค ๊ฒฝ๋ก๋ก ๊ณ์ธต๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด์๋ค.
- query
key=value ํํ๋ก ?๋ก ์์ํ๋ฉฐ &์ผ๋ก ์ถ๊ฐ๊ฐ ๊ฐ๋ฅํ๋ค.
query parameter, query string(๋ฌธ์๋ก๋ง ์ ๊ณตํ๊ธฐ ๋๋ฌธ) ์ผ๋ก๋ ๋ถ๋ฆฐ๋ค.
- fragment
html ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์ ์ฌ์ฉํ๋ฉฐ ์๋ฒ์ ์ ๋ฌ๋์ง ์๋ ๋ด์ฉ
๐์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ URL๋ฅผ ์ ์ก
2. DNS์์ ๋๋ฉ์ธ ๋ช ์ ์ง์ํ์ฌ IP๋ฅผ ์ฐพ์์จ๋ค ๊ทธ๋ฆฌ๊ณ ํฌํธ ์ ๋ณด ๊น์ง ์ฐพ๋๋ค.
3. HTTP ์์ฒญ ๋ฉ์ธ์ง ์์ฑ
* HTTP ์์ฒญ ๋ฉ์ธ์ง ์์
GET /search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
* HTTP ๋ฉ์์ง ์ ์ก
1. ์น๋ธ๋ผ์ฐ์ ๊ฐ HTTP ๋ฉ์์ง ์์ฑ
2. SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌํ๋๋ฐ IP์ ํฌํธ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ TCP์ 3 way handshake๋ฅผ ํตํด ์ ์ํ๋ ค๋ ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ , ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ
4. IP์ Port ์ ๋ณด๊ฐ ์๋ TCP/IP ํจํท์ ์์ด๋ค.
5. ๊ทธ๋ฆฌ๊ณ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ๊ณ์ธต์ ์ง๋ ์ธํฐ๋ท ๋ง์ผ๋ก ๋๊ฐ๋ค. ์๋ง์ ๋ ธ๋๋ฅผ ๊ฑฐ์ณ ๋ชฉ์ ์ง์ ๋์ฐฉ
6. ์์ฒญ ํจํท์์ TCP/IP ํจํท์ ๋ฒ๊ฒจ๋ด์ด ์์ ๋ด์ฉ์ ํด์ํ๊ณ ์์ฒญ์ ์ฒ๋ฆฌํ๋ค.
7. ์๋ฒ์์๋ ์๋ต ๋ฉ์์ง๋ฅผ ๋ง๋ ๋ค.
8. ํด๋ผ์ด์ธํธ๊ฐ ํ๋๊ฒ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก 2~5 ๊ณผ์ ์ ๊ฑฐ์ณ ํด๋ผ์ด์ธํธ์ ํจํท์ด ๋์ฐฉ
9. ํจํท์ ๋ฒ๊ฒจ๋ด์ด ์๋ต ๋ฉ์์ง๋ฅผ ํด์ํด ํ์ ์๋ต ๊ฐ์ ๋ํ ์ฒ๋ฆฌ๋ฅผ ์งํํ๋ค.
'Computer Science > Web' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP ์น ์ง์ - HTTP API๋ฅผ ๋ง๋ค์ด๋ณด์ (0) | 2023.03.07 |
---|---|
HTTP ์น ์ง์ - ๋ชจ๋ ๊ฒ์ด HTTP (0) | 2023.03.06 |
HTTP ์น ์ง์ - ์ธํฐ๋ท ๋คํธ์ํฌ (0) | 2023.03.06 |
HTTPS (0) | 2023.01.14 |
XML (0) | 2022.12.28 |