๐Ÿ“protocol, HTTP

์ด์ค€์„ยท2024๋…„ 3์›” 21์ผ

๊ฐœ๋… ์ •๋ฆฌ

๋ชฉ๋ก ๋ณด๊ธฐ
1/11

๐Ÿคํ”„๋กœํ† ์ฝœ์ด๋ž€?

  • ํ”„๋กœํ† ์ฝœ์€ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์—์„œ, ๋˜๋Š” ์ปดํ“จํ„ฐ ์‚ฌ์ด์—์„œ ๋ฐ์ดํ„ฐ์˜ ๊ตํ™˜ ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ๊ทœ์น™ ์ฒด๊ณ„์ž…๋‹ˆ๋‹ค. ๊ธฐ๊ธฐ ๊ฐ„ ํ†ต์‹ ์€ ๊ตํ™˜๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์— ๋Œ€ํ•ด ์ƒํ˜ธ ํ•ฉ์˜๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ํ˜•์‹์„ ์ •์˜ํ•˜๋Š” ๊ทœ์น™์˜ ์ง‘ํ•ฉ์„ ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”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

profile
ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€