[๋ธŒ๋ผ์šฐ์ €] ์ธํ„ฐ๋„ท ์ƒ์˜ ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ํ†ต์‹  ๊ณผ์ •

๋‚ด๊ฐ€ ๊ฐœ๋ฐœํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„์˜ค๋Š” ์ง€์— ๋Œ€ํ•ด ์ „์ฒด์ ์ธ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฌ์ง€ ๋ชปํ•˜๊ณ  ์ง€๊ธˆ๊ป ๊ฐœ๋ฐœํ•ด์˜จ ๊ฒƒ ๊ฐ™์•„์š”. "๋ธŒ๋ผ์šฐ์ €๋Š” HTTP ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜์˜ ํ†ต์‹ ์„ ํ•œ๋‹ค", "TCP ํ†ต์‹ ์€ 3way handshake๋กœ ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•œ๋‹ค.", "๋ธŒ๋ผ์šฐ์ €๋Š” TCP / IP ๊ธฐ๋ฐ˜์˜ ํ†ต์‹ ์„ ํ•œ๋‹ค." ์ด๋Ÿฐ ๋ง๋“ค ์ค‘ ํ•˜๋‚˜๋„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒŒ ์—†๋”๋ผ๊ตฌ์š”.

 

๊ทธ๋ž˜์„œ ๋„คํŠธ์›Œํฌ์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด๋Š” ์›น ๊ฐœ๋ฐœ์ž(์ €)๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ๊ฐ„์˜ ํ†ต์‹  ๊ณผ์ •์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•œ ๊ธ€์„ ์จ๋ณด์•˜์–ด์š” โœจ

 

๋ชฉ์ฐจ

  1. ์ธํ„ฐ๋„ท ์ƒ์˜ ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ํ†ต์‹  ๊ณผ์ •
    1. DNS : ์ฃผ์†Œ๋ฅผ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ
    2. HTTP ์š”์ฒญ : ์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ณผ์ •
    3. HTTPS
    4. URL ๊ตฌ์„ฑ

์ถ”ํ›„ "๋ธŒ๋ผ์šฐ์ € ์„ค๊ณ„"์™€ "Chrome ๊ฐœ๋ฐœ์ž๋„๊ตฌ ๊ธฐ๋Šฅ" ๋“ฑ์˜ ์ฃผ์ œ๋กœ ์ด์–ด์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋„คํŠธ์›Œํฌ ๊ด€์ ์—์„œ ํด๋ผ์ด์–ธํŠธ - ์„œ๋ฒ„ ํ†ต์‹ 

 

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

 

 

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

 


ํ†ต์‹ ์‚ฌ์—์„œ ์ธํ„ฐ๋„ท์„ ์„ค์น˜ํ•˜๋Ÿฌ ์˜ค๋ฉด ๋ณดํ†ต 2๊ฐœ์˜ ๊ธฐ๊ณ„๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ์š”. ํ•˜๋‚˜๋Š” ๋ผ์šฐํ„ฐ, ํ•˜๋‚˜๋Š” ๋ชจ๋Ž€์ž…๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ๋Š” ์šฐ๋ฆฌ ์ง‘์— ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ์˜ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„์„œ ๋ชจ๋Ž€์œผ๋กœ ์ „๋‹ฌํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฌด์„  ํ†ต์‹ ์˜ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•ด์š”. ๋ชจ๋Ž€๋งŒ ์žˆ์œผ๋ฉด ์˜ค์ง 1๊ฐœ์˜ ๊ธฐ๊ธฐ๋งŒ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๋ผ์šฐํ„ฐ๊ฐ€ ์žˆ์œผ๋ฉด ์—ฌ๋Ÿฌ ๊ธฐ๊ธฐ๋ฅผ ์ธํ„ฐ๋„ท์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

 

๋ชจ๋Ž€์€ ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋ฐ›์€ ๋””์ง€ํ„ธ ์‹ ํ˜ธ๋ฅผ ์•„๋‚ ๋กœ๊ทธ ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด์— ์ด๋ ‡๊ฒŒ ๋ณ€ํ™˜๋œ ์‹ ํ˜ธ๋Š” ์ „ํ™”์„ ์„ ํ†ตํ•ด์„œ ์ „์†ก๋˜์—ˆ์–ด์š”.

 

ํ•˜์ง€๋งŒ ์š”์ฆ˜์—๋Š” ๋น› ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๊ด‘์ผ€์ด๋ธ”์„ ์ด์šฉํ•˜์—ฌ ์ „์†กํ•˜๊ณ  ์žˆ๋‹ต๋‹ˆ๋‹ค.

 

Q. ๊ทธ๋Ÿผ ์•„์ฃผ ๋จผ ๋‹ค๋ฅธ ๊ตญ๊ฐ€๋Š” ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ์„๊นŒ์š”?
A. ๊ถ๊ธˆํ•ด์„œ ์ฐพ์•„๋ณด๋‹ˆ ๋Œ€๋ถ€๋ถ„์˜ ๊ตญ๊ฐ€๋“ค์ด ํ•ด์ € ๊ด‘์ผ€์ด๋ธ”์„ ํ†ตํ•ด์„œ ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋”๋ผ๊ตฌ์š”. (๊ตญ์ œ ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์˜ 99% ์ด์ƒ) ํ•ด์ € ๊ด‘์ผ€์ด๋ธ”์ด ๊น”๋ ค์žˆ์ง€ ์•Š์€ ๊ตญ๊ฐ€๋‚˜ ์ธ๊ณต์œ„์„ฑ๋ผ๋ฆฌ์˜ ํ†ต์‹ ์€ ์žฅ๊ฑฐ๋ฆฌ ๋ฌด์„  ํ†ต์‹ ์„ ์ด์šฉํ•˜๊ธด ํ•˜์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์€ ๋ฌผ๋ฆฌ์ ์ธ ์ผ€์ด๋ธ”์ด ๊น”๋ ค์žˆ๋‹ค๊ณ  ํ•ด์š”. ์ด์œ ๋Š” ๋น›์„ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ „ํŒŒ๋ณด๋‹ค ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋ผ๋„ค์š”.

 

 

์ผ€์ด๋ธ”์„ ํ†ตํ•ด ์ด๋™ํ•œ ์‹ ํ˜ธ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ISP(Internet service provider)๋Š” ์‰ฝ๊ฒŒ ๋งํ•ด ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•˜๋Š” "ํ†ต์‹ ์‚ฌ" ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ†ต์‹ ์‚ฌ๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ISP๋Š” ๋‹ค๋ฅธ ISP ๋กœ ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ISP ์—์„œ๋Š” ๋‹ค์‹œ ๋ชจ๋Ž€ - ๋ผ์šฐํ„ฐ๋ฅผ ๊ฑฐ์ณ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์— ๋„๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

 

์ง€๊ธˆ๊นŒ์ง€์˜ ๋‚ด์šฉ์„ ์š”์•ฝํ•ด๋ณด๋ฉด, ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ์‹œ์ž‘ํ•œ ์š”์ฒญ์ด "๋ผ์šฐํ„ฐ", "๋ชจ๋Ž€" ์ด๋ผ๋Š” ๋ฌผ๋ฆฌ์  ์žฅ์น˜๋ฅผ ๊ฑฐ์ณ์„œ ISP(ํ†ต์‹ ์‚ฌ)๋กœ ์ด๋™ํ•œ ๋’ค ๋‹ค๋ฅธ ISP(ํ†ต์‹ ์‚ฌ)๋ฅผ ๊ฑฐ์ณ์„œ ์—ญ์ˆœ์œผ๋กœ ๋‹ค์‹œ ์‹ ํ˜ธ๋ฅผ ๋ณ€ํ™˜ํ•˜๋ฉด ์„œ๋ฒ„ ์ปดํ“จํ„ฐ์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์ฃ . ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ํ†ตํ•ด์„œ ๋‚ด ์ปดํ“จํ„ฐ์—์„œ ๋‚ด๊ฐ€ ๋ˆ„๋ฅธ ์ฃผ์†Œ์ฐฝ ์ž…๋ ฅ ์š”์ฒญ์ด ์„œ๋ฒ„์—๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

์ „์ฒด์ ์ธ ํ๋ฆ„์„ ํŒŒ์•…ํ–ˆ์œผ๋‹ˆ ๋ธŒ๋ผ์šฐ์ € ํ”„๋กœ๊ทธ๋žจ์ด ์š”์ฒญ์„ ๋ณด๋‚ผ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์ผ์„ ์ž์„ธํžˆ ์„ค๋ช…ํ•ด๋ณผ๊ฒŒ์š”.

 

DNS : ์ฃผ์†Œ๋ฅผ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

"์ฃผ์†Œ์ฐฝ์— ์‚ฌ์ดํŠธ ์ฃผ์†Œ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆŒ๋Ÿฌ ํ•ด๋‹น ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค." ์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ ์ค‘, ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ๋ฅผ ์ด์šฉํ•ด ์‹ค์ œ ์„œ๋ฒ„ ์ปดํ“จํ„ฐ ์ฃผ์†Œ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. 

 

๋จผ์ € ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅ๋œ ์‚ฌ์ดํŠธ ์ฃผ์†Œ๋ฅผ ๋„คํŠธ์›Œํฌ ์ƒ์˜ ์ฃผ์†Œ์ธ IP ์ฃผ์†Œ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IP ์ฃผ์†Œ๋Š” 0~255 ์‚ฌ์ด์— ์žˆ๋Š” ์ˆซ์ž 4๊ฐœ์™€ dot(.) 3๊ฐœ์˜ ์กฐํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

 

1. ๋จผ์ € ๋‚ด ์ปดํ“จํ„ฐ์˜ hosts ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์—ฌ ๋„๋ฉ”์ธ๊ณผ ์—ฐ๊ฒฐ๋œ IP ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋‚˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  ์ข…์ข… ๊ฐœ๋ฐœ ์˜ˆ์ œ์—์„œ /etc/hosts ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜์—ฌ 127.0.0.1 localhost ๋ผ์ธ์„ ์ถ”๊ฐ€ํ•˜๋ฉด, ๋กœ์ปฌ์—์„œ ์ผ  ์„œ๋ฒ„๋ฅผ ์ผœ๊ธฐ ์œ„ํ•ด ์ฃผ์†Œ ์ฐฝ์— 127.0.0.1 ์ด ์•„๋‹Œ localhost ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค๋Š” ์•ˆ๋‚ด๋ฅผ ๋ณด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด hosts ํŒŒ์ผ์ด ๋„๋ฉ”์ธ ๋ณ€ํ™˜ ์‹œ ๊ฐ€์žฅ ๋จผ์ € ์ฐธ์กฐํ•˜๊ฒŒ ๋˜๋Š” ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

 

2. ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๋ฅผ ์ฐธ์กฐํ•ด์„œ ๋„๋ฉ”์ธ์ด ์žˆ๋‚˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

1๋ฒˆ์—์„œ hosts ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์˜€์œผ๋‚˜, ์š”์ฒญํ•˜๊ณ ์ž ํ•˜๋Š” ๋„๋ฉ”์ธ์˜ IP ์ •๋ณด๊ฐ€ ์—†๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ € ์บ์‹œ๋ฅผ ์ฐธ์กฐํ•ด์„œ ์ด์ „์— ํ•ด๋‹น ๋„๋ฉ”์ธ์„ ํ†ตํ•ด ์ด๋™ํ•œ ์ ์ด ์žˆ๋‚˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์žˆ๋‹ค๋ฉด ํ•ด๋‹น IP ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

chrome ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ์ฃผ์†Œ์ฐฝ์— chrome://net-internals/#dn ๋ฅผ ์น˜๊ณ  ๋“ค์–ด๊ฐ€๋ฉด ๋ธŒ๋ผ์šฐ์ €์— ์บ์‹ฑ๋˜์–ด ์žˆ๋Š” ๋„๋ฉ”์ธ์˜ IP ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด์š”.

 

3. localDNS (ISP์˜ DNS)๋ฅผ ์ฐธ์กฐํ•ด์„œ ๋„๋ฉ”์ธ์ด ์žˆ๋‚˜ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

ISP(ํ†ต์‹ ์‚ฌ)๋“ค์€ ๊ฐ์ž Domain Name System ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์Šคํ…œ์„ ์ด์šฉํ•˜์—ฌ ํ˜„์žฌ ์ž…๋ ฅํ•œ ๋„๋ฉ”์ธ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

4. ์žฌ๊ท€์ ์œผ๋กœ Root DNS ๋ฅผ ์ฐพ์•„๊ฐ‘๋‹ˆ๋‹ค.

 

                               (Root)
                                    โ”‚
    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
     โ”‚                              โ”‚                                 โ”‚
  .com                       .org                           .net
     โ”‚                              โ”‚                                 โ”‚
 google.com     wikipedia.org           example.net
     โ”‚
 http://www.google.com

 

DNS๋Š” ๊ณ„์ธต์ ์ธ tree ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ์˜ IP ์ •๋ณด๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค๋ฉด, ๊ณ„์† ์ƒ์œ„ DNS ๋กœ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ๋„๋ฉ”์ธ์˜ ์ •๋ณด๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

 

์ด์ œ ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์˜ ์ธํ„ฐ๋„ท ์ƒ ์ฃผ์†Œ๋ฅผ ํš๋“ํ•˜์—ฌ ์–ด๋””๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด์•ผ ํ• ์ง€ ํŒŒ์•…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์ด์ œ ์ด ์š”์ฒญ์„ ์–ด๋–ค ํ˜•ํƒœ๋กœ ์–ด๋–ป๊ฒŒ ๋ณด๋‚ผ ๊ฑด์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค!

 

HTTP ์š”์ฒญ :  ์š”์ฒญ ๋ฉ”์‹œ์ง€ ์ „์†ก ๊ณผ์ •

๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„์— ๋ณด๋‚ด๋Š” ์š”์ฒญ์€ ์–ด๋–ค ํ˜•ํƒœ๋กœ ์„œ๋ฒ„์— ์ „์†ก๋ ๊นŒ์š”?

 

๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ฐ€๋Šฅํ•œ ํ†ต์‹ ์˜ ํ˜•์‹์€ ์œ„์™€ ๊ฐ™์ด ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ฃผ๋กœ HTTP ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— HTTP ํ†ต์‹ ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

 

 

๋จผ์ € ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ณด๋‚ด๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋ฅผ HTTP ์š”์ฒญ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ ๋Š” ์šด์˜์ฒด์ œ ํ”„๋กœ๊ทธ๋žจ์ด ๋‹ค๋ฃจ๋Š” ๋„คํŠธ์›Œํฌ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์†Œ์ผ“์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ธŒ๋ผ์šฐ์ €๋Š” ์šด์˜์ฒด์ œ์—์„œ ์ œ๊ณตํ•˜๋Š” ์†Œ์ผ“ ์ธํ„ฐํŽ˜์ด์Šค ์ค‘ send ๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด์„œ ๋งŒ๋“ค์–ด๋‘” HTTP ์š”์ฒญ์„ ์šด์˜์ฒด์ œ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์šด์˜์ฒด์ œ์˜ ๋„คํŠธ์›Œํฌ ํŒŒํŠธ ์ค‘ TCP ์Šคํƒ์ด ์†Œ์ผ“์œผ๋กœ๋ถ€ํ„ฐ ํ•ด๋‹น ์š”์ฒญ์„ ์ „๋‹ฌ๋ฐ›์Šต๋‹ˆ๋‹ค. TCP ์Šคํƒ์€ ์ „๋‹ฌ๋ฐ›์€ HTTP ์š”์ฒญ ๋ฐ์ดํ„ฐ์— ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์กฐ๊ธˆ ๋” ์ถ”๊ฐ€ํ•ด์„œ ์บก์Šํ™” ํ•œ ๋‹ค์Œ IP ์Šคํƒ์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. IP ์Šคํƒ์—์„œ๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋ฐ์ดํ„ฐ์— ๋˜ ํ•œ๋ฒˆ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์บก์Šํ™” ํ•œ ๋‹ค์Œ NIC(Network Interface Controller) ๋ผ๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ†ต์‹  ์žฅ์น˜๋กœ ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. NIC ๋Š” ์ด์ œ ๋ผ์šฐํ„ฐ๋กœ ์‹ ํ˜ธ๋ฅผ ์ „์†กํ•˜๊ณ  ๊ทธ ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” ์•ž์„œ ๋ฐฐ์› ๋˜ ํ๋ฆ„์œผ๋กœ ์‹ ํ˜ธ๊ฐ€ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

 

TCP ์—์„œ์˜ ์บก์Šํ™”๋ฅผ ๋จผ์ € ์‚ดํŽด๋ด…์‹œ๋‹ค. TCP ๋Š” ๋ฐ์ดํ„ฐ์˜ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ชผ๊ฐœ๊ณ  ํ—ค๋”๋ฅผ ๋ถ™์—ฌ ์„ธ๊ทธ๋จผํŠธ๋ผ๋Š” ๋‹จ์œ„๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. IP๋Š” ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋ฐ›์•„ ํ—ค๋”๋ฅผ ๋ถ™์ด๊ณ  ํŒจํ‚ท์ด๋ผ๋Š” ๋‹จ์œ„๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

 

 

๋งŒ์•ฝ IP ์Šคํƒ์— ๋„˜์–ด ์˜จ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜๋‚˜์˜ ํŒจํ‚ท์— ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋‹จ์œ„์ธ MTU (Maximum Transmission Unit) ๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ• ๊นŒ์š”? ์šฐ์„  IP ์Šคํƒ์€ ํŒจํ‚ท์„ ๋งŒ๋“ค์–ด์„œ ๋ณด๋‚ด๋ ค๊ณ  ํ•˜๊ณ , ๋ผ์šฐํ„ฐ ์ธก์—์„œ Fragment (ํŒจํ‚ท์„ ์กฐ๊ฐ๋‚ด๋Š” ๊ฒƒ) ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ผ์šฐํ„ฐ๋Š” ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ณ„์‚ฐ์„ ์ถ”๊ฐ€๋กœ ํ•ด์•ผํ•˜๋Š” ๋ถ€๋‹ด์ด ๋ฐœ์ƒํ•˜๊ณ , ์ชผ๊ฐœ์ง„ ํŒจํ‚ท ์ค‘ ์ฒซ๋ฒˆ์งธ ํŒจํ‚ท์— ํฌํŠธ ์ •๋ณด๊ฐ€ ๋‹ด๊ฒจ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ํŒจํ‚ท์ด ์†์‹ค๋˜๋ฉด ์ „์ฒด ํŒจํ‚ท์„ ๋‹ค์‹œ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ IP ๊ณ„์ธต์€ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, TCP ๊ณ„์ธต์—์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

TCP ๊ฐ€ ๋ฏธ๋ฆฌ MTU ์— ๋“ค์–ด๊ฐˆ ๋งŒํ•œ ํฌ๊ธฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ชผ๊ฐœ๋Š” ์ž‘์—…์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ, MSS (Maximum Segment Size) ๋ผ๋Š” ์ตœ๋Œ€ ์„ธ๊ทธ๋จผํŠธ ํฌ๊ธฐ๋Š” IP ํ—ค๋”์™€ TCP ํ—ค๋”์˜ ํฌ๊ธฐ๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์„œ MTU ๊ฐ€ ๋„˜์ง€ ์•Š๋„๋ก ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ๋ฆฌ IP ๊ณ„์ธต์—์„œ fragment๋ฅผ ํ•˜์ง€ ์•Š์„ ๋ฒ•ํ•œ ํฌ๊ธฐ๋กœ Data ๋ฅผ ์ชผ๊ฐœ์„œ ์„ธ๊ทธ๋จผํŠธํ™” ํ•˜๋Š” ๊ฒƒ์ด์ฃ .

 

 

TCP ์—๋Š” ์ด๋Ÿฐ ํ—ค๋”๋“ค์„ ๋ถ™์—ฌ์„œ ์„ธ๊ทธ๋จผํŠธ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ฃผ์š”ํ•œ ์ •๋ณด๋“ค๋งŒ ํ‘œ์‹œํ•ด๋ณด์•˜๋Š”๋ฐ์š”.

 

๋จผ์ € ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์ถœ๋ฐœ์ง€ ์ฃผ์†Œ์™€ ์š”์ฒญ์ด ๋„์ฐฉํ•ด์•ผ ํ•  ๋„์ฐฉ์ง€ ์ฃผ์†Œ๋ฅผ ํ‘œ์‹œํ•˜๊ณ ,

ํ˜„์žฌ ๋ณด๋‚ด๋Š” ์„ธ๊ทธ๋จผํŠธ๊ฐ€ ๊ฐ™์€ ์š”์ฒญ์˜ ๋ช‡๋ฒˆ์งธ ์„ธ๊ทธ๋จผํŠธ์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” index๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์•ž์œผ๋กœ ์„ค๋ช…ํ•  3way handshake ๋ผ๋Š” ๊ณผ์ •์— ์‚ฌ์šฉ๋˜๋Š” flag bit ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„๋„ ์žˆ๊ตฌ์š”.

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•œ๋ฒˆ์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํฌ๊ธฐ๋ฅผ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋„ ์žˆ๊ณ ,

๋ฐ์ดํ„ฐ๊ฐ€ ์†์ƒ์—†์ด ์™”๋Š”์ง€๋ฅผ ์ฒดํฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋„ ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. 

 

 

3way handshake๋Š” ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชฉ์ ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์„์ง€์— ๊ด€ํ•œ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

์‰ฝ๊ฒŒ SYN๋Š” ํ•ด์ค˜. ACK๋Š” ํ™•์ธ. ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๋Š”๋ฐ์š”. ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

 

1. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— SYN, Seq = X ๋ผ๋Š” ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

  ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๊ณ , ๋ฐ์ดํ„ฐ๋Š” X ๋ถ€ํ„ฐ ์‹œ์ž‘ํ• ๊ฑฐ๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

2. ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์— SYN, Seq = Y | ACK, Ack = X+1 ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

  X ๋ถ€ํ„ฐ ์‹œ์ž‘ํ• ๊ฑฐ๋ผ๋Š” ์—ฐ๊ฒฐ ์š”์ฒญ์€ ์ž˜ ๋ฐ›์•˜๊ณ  (ACK), ๋‚˜๋„ ์—ฐ๊ฒฐ ์š”์ฒญํ•˜๋Š”๋ฐ ๋ฐ์ดํ„ฐ๋Š” Y๋ถ€ํ„ฐ ์‹œ์ž‘ํ• ๊ฑฐ SYN)๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

3. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์— ACK, Ack = Y + 1 ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

  Y ๋ถ€ํ„ฐ ์‹œ์ž‘ํ• ๊ฑฐ๋ผ๋Š” ์—ฐ๊ฒฐ ์š”์ฒญ ์ž˜ ๋ฐ›์•˜์–ด ๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

 

์ด๋ ‡๊ฒŒ 3๋ฒˆ์˜ ์š”์ฒญ์„ ์ฃผ๊ณ  ๋ฐ›์œผ๋ฉด ์—ฐ๊ฒฐ์ด ์„ฑ์‚ฌ๋˜๊ณ  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชฉ์ ์ง€๊นŒ์ง€ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‹ ๋ขฐ์„ฑ์„ ํ™•๋ณดํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

HTTPS 

HTTPS ๋Š” HTTP + Secure(๋ณด์•ˆ) ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ณด์•ˆ์ด๋ž€ TLS(Transport Layer Security) ๊ฐ€ ์ถ”๊ฐ€๋œ ๊ฒƒ์œผ๋กœ,
์˜ˆ์ „์—๋Š” SSL(Secure Socket Layer) ์„ ์‚ฌ์šฉํ–ˆ๋‹ค๊ฐ€ ๋ณด์•ˆ์ƒ ์ทจ์•ฝ์ ์ด ๋ฐœ๊ฒฌ๋˜์–ด ํ˜„์žฌ๋Š” TLS ๊ฐ€ ์ตœ์‹  ๋ณด์•ˆ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. TLS ์•”ํ˜ธํ™”๋Š” TCP๊ณ„์ธต์— ์˜ํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์„ธ๊ทธ๋จผํŠธํ™” ๋˜๊ธฐ ์ „์— ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ๋Œ€์นญํ‚ค ์•”ํ˜ธํ™”์˜ ๊ณผ์ •์„ ๊ฑฐ์น˜๋‚˜, ์ด ๊ธ€์—์„œ ์ž์„ธํžˆ ๋‹ค๋ฃฐ ์ •๋„๋กœ ์ค‘์š”ํ•œ ๋‚ด์šฉ์€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์•„์„œ ๋”ฐ๋กœ ์ฐธ๊ณ ํ•  ๊ธ€์„ ์ฒจ๋ถ€ํ•ด๋‘ก๋‹ˆ๋‹ค.

 

https://docs.tosspayments.com/resources/glossary/tls

 

URL ๊ตฌ์„ฑ

  • ํ”„๋กœํ† ์ฝœ : ํ†ต์‹  ๊ทœ์•ฝ (e.g. http, https, ftp, file, mailto ๋“ฑ)
  • ํ˜ธ์ŠคํŠธ : ์„œ๋ฒ„ ์ปดํ“จํ„ฐ ์ฃผ์†Œ
  • ๊ฒฝ๋กœ : ์„œ๋ฒ„ ์ปดํ“จํ„ฐ ์ƒ์˜ ๋ฆฌ์†Œ์Šค ์œ„์น˜
  • ํŒŒ๋ผ๋ฏธํ„ฐ : ์ถ”๊ฐ€์ ์ธ ์ •๋ณด๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•œ key=value ํ˜•ํƒœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ
  • fragment (=anchor, hash) : ํŠน์ • ์œ„์น˜๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ ์ฑ…๊ฐˆํ”ผ

 

Appendix

https://algoroot.tistory.com/110

https://velog.io/@jeonbyeongmin/HTTP-%EB%81%9D%EC%9E%A5%EB%82%B4%EA%B8%B0

 



๊ธด ๊ธ€ ๋๊นŒ์ง€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ๊ฐ€๊ฐ์—†์ด ์ง€์ ํ•ด์ฃผ์„ธ์š” ๐Ÿซก

๋ฐ˜์‘ํ˜•