๐ URI (Resource Identifier)
๋ง๊ทธ๋๋ก ์์์ ์๋ณํ๋ ๊ตฌ๋ณ์.
Uniform: ๋ฆฌ์์ค๋ฅผ ์๋ณํ๋ ํต์ผ๋ ๋ฐฉ์.
Resource: ์์, URI๋ก ์๋ณํ ์ ์๋ ๋ชจ๋ ๊ฒ(์ ํ ์์)
Identifier: ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ๊ตฌ๋ถํ๋๋ฐ ํ์ํ ์ ๋ณด
๐ URL (Resource Locator)
* ๋ฆฌ์์ค์ ์ฃผ์.๋ก์ ์์น๋ฅผ ์ง์ .
* ์์น๋ ๋ณํ ์ ์์ง๋ง ์ด๋ฆ์ ๋ณํ์ง ์์.
* ๊ตฌ์กฐ:
scheme://[userinfo@]host[:post][/path][?query][#fragment]
- scheme: ์ฃผ๋ก ํ๋กํ ์ฝ ์ฌ์ฉํ๊ณ , (https) ํฌํธ๋ ์๋ต ๊ฐ๋ฅ.
- userinfo: URL์ ์ฌ์ฉ์์ ๋ณด๋ฅผ ํฌํจํด์ ์ธ์ฆํด์ผ ํ ๋ ์ฐ๋๋ฐ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์.
-port: ์ผ๋ฐ์ ์ผ๋ก ์๋ต. http๋ 80, https๋ 443
- path: ๋ฆฌ์์ค ๊ฒฝ๋ก. ํด๋ ๊ตฌ์กฐ์ฒ๋ผ ๊ณ์ธต์ ๊ตฌ์กฐ.
- query: 'key=value' ํํ๋ก์ '?'๋ก ์์ํ๊ณ '&'๋ก ์ถ๊ฐ ๊ฐ๋ฅ. (keyA=valueA&keyB=valueB) ์ผ๋ฐ์ ์ผ๋ก query parameter ๋๋ query string์ผ๋ก ๋ถ๋ฆผ.
- fragment: html ๋ด๋ถ ๋ถ๋งํฌ ๋ฑ์์ ์ฌ์ฉํ๊ณ , ์๋ฒ์ ์ ์กํ๋ ์ ๋ณด๋ ์๋.
๐ URN (Resource Name)
๋ฆฌ์์ค์ ์ด๋ฆ. ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์.
URN ์ด๋ฆ๋ง์ผ๋ก ์ค์ ๋ฆฌ์์ค๋ฅผ ์ฐพ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ๋ณดํธํ๋์ด ์์ง ์์.
๐ ์น ๋ธ๋ผ์ฐ์ ์์ฒญ ํ๋ฆ
๐HTTP ์์ฒญ ๋ฉ์ธ์ง๋ ์ด๋ป๊ฒ ์๊ฒผ๋?
GET/search?q=hello&hl=ko HTTP/1.1
Host: www.google.com
๐HTTP ์์ฒญ ๋ฉ์ธ์ง๋ฅผ ์ด๋ป๊ฒ ์ ์กํ๋?
1. ์น ๋ธ๋ผ์ฐ์ ๊ฐ HTTP ๋ฉ์ธ์ง ์์ฑ
2. SOCKET ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ์ ๋ฌ. IP, PORT ์ ๋ณด๋ฅผ ๊ฐ๊ณ ์๋ฒ์ TCP/IP ์ฐ๊ฒฐ.
3. TCP/IP ํจํท ์์ฑ, HTTP ๋ฉ์ธ์ง ํฌํจ.
๊ทธ๋ผ ๊ทธ๊ฑธ ๋ฐ์ ์๋ฒ๋ ์๋ต ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ผ๊ฒ ์ฃต. ๊ณผ์ ์ ๋๊ฐ์ต๋๋ค.
TCP/IP ํจํท ์์ด ์๋ต ํจํท ์์ฑํด์ ์น ๋ธ๋ผ์ฐ์ ์๊ฒ ์ ๋ฌ!
๐HTTP ์๋ต ๋ฉ์ธ์ง๋ ์ด๋ป๊ฒ ์๊ฒผ๋?
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3422
<html>
<body></boey>
</html>
'Web > HTTP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
HTTP ์ํ ์ฝ๋ (0) | 2022.01.11 |
---|---|
HTTP API ์ค๊ณ ์์ (0) | 2022.01.11 |
HTTP ๋ฉ์๋์ ํ์ฉ (0) | 2022.01.10 |
HTTP ๊ธฐ๋ณธ ๊ฐ๋ (0) | 2022.01.10 |
HTTP์ ๊ธฐ์ด, ์ธํฐ๋ท ๋คํธ์ํฌ (0) | 2021.12.13 |