[TIL] HTTP vs WebSocket

Sooยท2022๋…„ 12์›” 27์ผ
0
post-custom-banner

HTTP

  • Client์˜ ์š”์ฒญ์ด ์žˆ์„๋•Œ๋งŒ, ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•ด์„œ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ณ , ๊ณง๋ฐ”๋กœ ์—ฐ๊ฒฐ์„ ๋Š๋Š” ๋ฐฉ์‹
  • ์ฆ‰, Client๊ฐ€ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  server๊ฐ€ ์‘๋‹ตํ•˜๋Š” ๋‹จ๋ฐฉํ–ฅํ†ต์‹  (์—ฐ๊ฒฐ ์ƒํƒœ ์œ ์ง€ X : stateless)
  • ์‹ค์‹œ๊ฐ„์ด ์•„๋‹ˆ๋ผ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ server๋กœ ์ ‘๊ทผํ•˜๋Š” ์ฝ˜ํ…์ธ  ์œ„์ฃผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์šฉ์ดํ•จ

์˜ˆ๋ฅผ๋“ค์–ด, ๋ธ”๋กœ๊ทธ์— ๋“ค์–ด์˜ค๋Š” ์ƒํ™ฉ
์›น๋ธŒ๋ผ์šฐ์ €(Client)๊ฐ€ ์›น์„œ๋ฒ„๋กœ ๊ธ€์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋ณด๋‚ด๋‹ฌ๋ผ๊ณ  ์š”์ฒญ -> ์„œ๋ฒ„๊ฐ€ ์ „๋‹ฌ -> ๋ฐ”๋กœ ์—ฐ๊ฒฐ ์ข…๋ฃŒ
ํ•˜๋Š” ๋ฐฉ์‹

Socket

  • Client์™€ Server๊ฐ€ ํŠน์ • port๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ์„ ์„ฑ๋ฆฝํ•˜๊ณ  ์žˆ์–ด์„œ, ์‹ค์‹œ๊ฐ„์œผ๋กœ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ ์„ ํ•˜๋Š” ๋ฐฉ์‹
  • Client๊ฐ€ Serverํ•œํ…Œ๋งŒ ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” HTTP์™€ ๋‹ฌ๋ฆฌ,
    Server ์—ญ์‹œ Client์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ์–‘๋ฐฉํ–ฅ ํ†ต์‹  (์—ฐ๊ฒฐ ์ƒํƒœ ์œ ์ง€ : stateful)
  • ๊ณ„์† ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋Š” ์—ฐ๊ฒฐ ์ง€ํ–ฅํ˜• ํ†ต์‹ ์ด๊ธฐ ๋•Œ๋ฌธ์—, ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์ž์ฃผ ์‚ฌ์šฉ๋จ

์˜ˆ๋ฅผ ๋“ค์–ด, ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ ์ค‘๊ณ„๋‚˜ or ์‹ค์‹œ๊ฐ„ ์ฑ„ํŒ…
Client๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ๋™์˜์ƒ์„ ์š”์ฒญํ•˜๊ณ , ๋™์˜์ƒ์ด ์ข…๋ฃŒ๋˜๋Š” ์ˆœ๊ฐ„๊นŒ์ง€ ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†Œ์ผ“ ํ†ต์‹  ๋ฐฉ์‹

Websocket

  • ์›น์—์„œ ์‚ฌ์šฉํ•˜๋Š” socket ํ†ต์‹ ๋ฐฉ์‹
  • ํ”„๋กœํ† ์ฝœ์€ ws(webSocket), wss(webSocket secure)์„ ์‚ฌ์šฉ
  • ํฌํŠธ๋Š” HTTP(80), HTTPS(443)๊ณผ ๋™์ผํ•œ ํฌํŠธ๋กœ ์‚ฌ์šฉ
  • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ง€์†์ ์œผ๋กœ TCP๋ผ์ธ์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ 
profile
Soogineer's Devlog
post-custom-banner

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