yeon's blog

[HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹] HTTP ๊ธฐ๋ณธ - ๋น„ ์—ฐ๊ฒฐ์„ฑ (connectionless) ๋ณธ๋ฌธ

HTTP

[HTTP ์›น ๊ธฐ๋ณธ ์ง€์‹] HTTP ๊ธฐ๋ณธ - ๋น„ ์—ฐ๊ฒฐ์„ฑ (connectionless)

yeonii 2023. 12. 3. 13:45

๐ŸŒฑ ๋น„ ์—ฐ๊ฒฐ์„ฑ (connectionless)

์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ๋ชจ๋ธ

  • ๋‹จ์  - ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๊ธ‰์ฆํ•œ ๊ฒฝ์šฐ ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด๋  ์ˆ˜ ์žˆ์Œ

 

์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋ธ

 

  • ๋น„์—ฐ๊ฒฐ์„ฑ: ์š”์ฒญ์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ๊ทธ๋•Œ๊ทธ๋•Œ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ”๋กœ ๋Š๋Š” ํ˜•ํƒœ
  • ์žฅ์  - ์ตœ์†Œํ•œ์˜ ์ž์› ์œ ์ง€(ํšจ์œจ์ )
  • ๋‹จ์ 
    • TCP/IP ์—ฐ๊ฒฐ์„ ์ƒˆ๋กœ ๋งบ์„ ๋•Œ๋งˆ๋‹ค 3 way handshake ์‹œ๊ฐ„์ด ์ถ”๊ฐ€๊ฐ€ ๋˜์„œ ํด๋ผ์ด์–ธํŠธ ์ž…์žฅ์—์„œ๋Š” ๋Š๋ฆผ
    • ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ ์‚ฌ์ดํŠธ๋ฅผ ์š”์ฒญํ•˜๋ฉด HTML, CSS, Javascript, ์ถ”๊ฐ€ ์ด๋ฏธ์ง€ ๋“ฑ ์ˆ˜๋งŽ์€ ์ž์›์ด ํ•จ๊ป˜ ๋‹ค์šด๋กœ๋“œ ํ•  ๋•Œ ์—ฐ๊ฒฐํ•˜๊ณ  ๋Š๊ณ ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฏ€๋กœ ๋น„ํšจ์œจ์ 
  • ๊ทน๋ณต - ์ง€์† ์—ฐ๊ฒฐ(Persistent Connection)๋กœ ๋ฌธ์ œ ํ•ด๊ฒฐ
    • ์ง€์† ์—ฐ๊ฒฐ: HTTP์—์„œ TCP/IP ์—ฐ๊ฒฐ์„ ์ผ์ • ๊ธฐ๊ฐ„ ์—ด์–ด๋‘๊ณ  ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒƒ

 

1. HTTP ์ดˆ๊ธฐ: ์—ฐ๊ฒฐ → ์ž์› ์š”์ฒญ /HTML ์‘๋‹ต → ์ข…๋ฃŒ

 

2. HTTP ์ง€์† ์—ฐ๊ฒฐ: ์—ฐ๊ฒฐ → ์ž์› ์š”์ฒญ/HTML ์‘๋‹ต → ์ž์› ์š”์ฒญ/์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์‘๋‹ต → ... → ์ข…๋ฃŒ

 

๐Ÿ’ซ ์ฐธ๊ณ !!!

์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋“ค์€ ๋ฐ˜๋“œ์‹œ Stateless๋ฅผ ๊ธฐ์–ตํ•˜์ž!

  • ๊ฐ™์€ ์‹œ๊ฐ„์— ๋ฐœ์ƒํ•˜๋Š” ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ
    • ์˜ˆ) ์„ ์ฐฉ์ˆœ ์ด๋ฒคํŠธ, ์ˆ˜๊ฐ• ์‹ ์ฒญ ๋“ฑ → ์ˆ˜๋งŒ๋ช… ๋™์‹œ ์š”์ฒญ
  • ์ด๋ฒคํŠธ๊ฐ€ ์ƒ๊ธธ ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ‰์ฆํ• ๋•Œ,
  • ์ผ๋‹จ์€ ์ •์  ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•ด์„œ ๊ทธ ํŽ˜์ด์ง€๋ฅผ ๋ณด๊ฒŒ ํ•œ ๋‹ค์Œ์— ์ด๋ฒคํŠธ ํŽ˜์ด์ง€๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ• ์ด์šฉ
  • → ์ตœ๋Œ€ํ•œ ๋™์‹œ ์š”์ฒญ์„ ์ ๊ฒŒ ํ•œ๋‹ค

โ“Question

1. 3-way handshake? http ํ”„๋กœํ† ์ฝœ?

 

๋ธŒ๋ผ์šฐ์ €์—์„œ URL์„ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด,

1) DNS ์„œ๋ฒ„์—์„œ ํ•ด๋‹น URL์˜ IP๋ฅผ ์กฐํšŒํ•œ๋‹ค.

2) IP์— ํ•ด๋‹นํ•˜๋Š” ์„œ๋ฒ„์™€ TCP๋ฅผ ์—ฐ๊ฒฐํ•œ๋‹ค.

3) ์ดํ›„ HTTP ์š”์ฒญ/์‘๋‹ต์„ ํ•œ๋‹ค.

 

→ TCP์˜ ์—ฐ๊ฒฐ์ง€ํ–ฅ๊ณผ HTTP์˜ ๋น„์—ฐ๊ฒฐ์„ฑ์€ ๊ฒฐ์ด ๋‹ค๋ฅธ๊ฒƒ์œผ๋กœ ์ดํ•ดํ•ด์•ผ ํ•จ.

TCP๋Š” UDP์™€ ๋‹ค๋ฅด๊ฒŒ ๋‚ด๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ผ ๊ณณ๊ณผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๋กœ์ง์ด ์žˆ๋‹ค๋Š” ์ ์—์„œ ์—ฐ๊ฒฐ ์ง€ํ–ฅ์ ์ธ ๊ฒƒ์ด๊ณ ,

HTTP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ SOKET ํ†ต์‹ ๊ณผ ๋‹ฌ๋ฆฌ ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ฐ›๊ณ  ๋‚˜๋ฉด ์—ฐ๊ฒฐ์„ ๋Š๊ณ , ์š”์ฒญ์ด ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์—ฐ๊ฒฐ์„ ํ•˜๋Š” ์ ์—์„œ ๋น„์—ฐ๊ฒฐ์„ฑ์„ ๋ณด์ด๋Š” ๊ฒƒ์ด๋‹ค.

 

 

2. ํŠธ๋ž˜ํ”ฝ์ด ๋ชฐ๋ฆด ๊ฒฝ์šฐ ์ •์  ํŽ˜์ด์ง€๋กœ ๋ถ€๋‹ด์„ ์ค„์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ •์  ํŽ˜์ด์ง€๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์•„์ ธ๋„ ๊ณผ๋ถ€ํ•˜๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š๋Š”๊ฐ€?

 

์ •์  ํŒŒ์ผ์„ ๋ฐ›๋Š” ํ–‰์œ„๋„ ์„œ๋ฒ„์— ๋ถ€ํ•˜๋ฅผ ์ค€๋‹ค. ๋‹ค๋งŒ, ํŒŒ์ผ์„ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์„œ ์‘๋‹ตํ•  ๋•Œ๋ณด๋‹จ ํš๊ธฐ์ ์œผ๋กœ ์ˆ˜์›”ํ•˜๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด A๊ฐ€๊ฒŒ๋Š” ๋„์‹œ๋ฝ์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋‘๊ณ  ํŒ๋งคํ•˜๊ณ , B๋Š” ์†๋‹˜์ด ์ฃผ๋ฌธํ•˜๋ฉด ๊ทธ ๋•Œ ๋งŒ๋“ค์–ด์„œ ํŒ๋งคํ•œ๋‹ค๊ณ  ํ•˜์ž.

๋ฐฐ๊ณ ํ”ˆ ์†๋‹˜ 100๋ช…์ด ํ•œ๋ฒˆ์— ๊ฐ€๊ฒŒ๋กœ ๋ชฐ๋ ค๋“ค ๋•Œ, A๋Š” ๋„์‹œ๋ฝ์„ ๊ฑด๋„ค๊ณ  ๋ˆ๋งŒ ๋ฐ›์œผ๋ฉด ๋˜๋‹ˆ ๋น„๊ต์  ์ˆ˜์›”ํ•˜๋‹ค. ๋ฐ˜๋ฉด B๋Š” ๋งค์žฅ์ด ๋งˆ๋น„๋  ๊ฒƒ์ด๋‹ค.