๐คํ๋กํ ์ฝ์ด๋?
- ํ๋กํ ์ฝ์ ์ปดํจํฐ ๋ด๋ถ์์, ๋๋ ์ปดํจํฐ ์ฌ์ด์์ ๋ฐ์ดํฐ์ ๊ตํ ๋ฐฉ์์ ์ ์ํ๋ ๊ท์น ์ฒด๊ณ์
๋๋ค. ๊ธฐ๊ธฐ ๊ฐ ํต์ ์ ๊ตํ๋๋ ๋ฐ์ดํฐ์ ํ์์ ๋ํด ์ํธ ํฉ์๋ฅผ ์๊ตฌํฉ๋๋ค. ์ด๋ฐ ํ์์ ์ ์ํ๋ ๊ท์น์ ์งํฉ์ ํ๋กํ ์ฝ์ด๋ผ๊ณ ํฉ๋๋ค.
๐HTTP
- HTTP ๋?
HTTP(HyperText Transfer Protocol)๋ ์น์์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฌ์ฉ๋๋ ํ๋กํ ์ฝ์
๋๋ค. ํด๋ผ์ด์ธํธ(๋ณดํต ์น ๋ธ๋ผ์ฐ์ )๊ฐ ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด, ์๋ฒ๋ ๊ทธ ์์ฒญ์ ๋ํ ์๋ต์ ํด๋ผ์ด์ธํธ์ ๋ณด๋
๋๋ค. ์ด ๊ณผ์ ์์ HTTP ๋ฉ์์ง๊ฐ ๊ตํ๋ฉ๋๋ค.
HTTP๋ ์น์ ๊ธฐ๋ณธ์ด ๋๋ ํ๋กํ ์ฝ์ด๋ฉฐ, ๋ค์ํ ๋ฉ์๋(GET, POST, PUT, DELETE ๋ฑ)์ ์ํ ์ฝ๋(200 OK, 404 Not Found ๋ฑ)๋ฅผ ์ฌ์ฉํ์ฌ ์น ์์ ์์์ ๋ํ ๋ค์ํ ์์
์ ์ํํ ์ ์์ต๋๋ค.
- HTTP ์์ฒญ ์์
ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ์ ํน์ ์์์ ์์ฒญํ๋ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ ํ์์ HTTP GET ์์ฒญ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.
GET /index.html HTTP/1.1
Host: www.example.com
์ด ์์ฒญ์ www.example.com์์ /index.html ํ์ด์ง๋ฅผ ์์ฒญํ๊ณ ์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์ค์ ์์ฒญ ๋ผ์ธ์ผ๋ก, ์ฌ์ฉํ ๋ฉ์๋(GET), ์์ฒญํ ์์์ ๊ฒฝ๋ก(/index.html), ๊ทธ๋ฆฌ๊ณ HTTP ๋ฒ์ (HTTP/1.1)์ ํฌํจํฉ๋๋ค. ๋ ๋ฒ์งธ ์ค์ ํค๋๋ก, ์์ฒญ์ด ๋ณด๋ด์ง๋ ํธ์คํธ์ ์ด๋ฆ์ ๋ช
์ํฉ๋๋ค.
- HTTP ์๋ต ์์
์๋ฒ๊ฐ ์์ ์์ฒญ์ ๋ฐ๊ณ , ์์ฒญ๋ ์์์ ์ฐพ์ ํ ํด๋ผ์ด์ธํธ์๊ฒ ๋ค์๊ณผ ๊ฐ์ ํ์์ ์๋ต์ ๋ณด๋ผ ์ ์์ต๋๋ค.
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 1234
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>Hello, World!</h1>
</body>
</html>
์๋ต ๋ฉ์์ง๋ ์ํ ๋ผ์ธ, ํค๋, ๊ทธ๋ฆฌ๊ณ ๋ณธ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ํ ๋ผ์ธ์๋ HTTP ๋ฒ์ (HTTP/1.1), ์ํ ์ฝ๋(200), ์ํ ๋ฉ์์ง(OK)๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ ์์ฒญ์ด ์ฑ๊ณต์ ์ผ๋ก ์ฒ๋ฆฌ๋์์์ ๋ํ๋
๋๋ค. ํค๋์๋ ์๋ต์ Content-Type(์ด ๊ฒฝ์ฐ text/html)๊ณผ Content-Length(์๋ต ๋ณธ๋ฌธ์ ๊ธธ์ด)๊ฐ ๋ช
์๋ฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก ๋ณธ๋ฌธ์๋ ์ค์ ์๋ต ๋ฐ์ดํฐ, ์ฌ๊ธฐ์๋ HTML ๋ฌธ์๊ฐ ํฌํจ๋ฉ๋๋ค.
์ถ์ฒ-https://developer.mozilla.org/ko/docs/Glossary/Protocol, GPT-4