client server

1. ๋„คํŠธ์›Œํฌ

๋„คํŠธ์›Œํฌ

  • ์—ฌ๋Ÿฌ๋Œ€์˜ ์ปดํ“จํ„ฐ ๋˜๋Š” ์žฅ๋น„๊ฐ€ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๊ธฐ์ˆ 
    • ์ปดํ“จํ„ฐ, ๋ผ์šฐํ„ฐ, ์Šค์œ„์น˜, ํ—ˆ๋ธŒ ๋“ฑ์˜ ์žฅ๋น„๋“ค์ด ๊ฐ๊ฐ์˜ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์Œ
    • IP์ฃผ์†Œ, ์„œ๋ธŒ๋„ท ๋งˆ์Šคํฌ, ๊ฒŒ์ดํŠธ์›จ์ด๋“ฑ์˜ ์ •๋ณด๋ฅผ ์„ค์ •ํ•˜๊ณ  ๋„คํŠธ์›Œํฌ ํ”„๋กœํ† ์ฝœ์„ ์ด์šฉํ•˜์—ฌ ํ†ต์‹ 

2. Client์™€ Server

  • Client

    • ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ server ์ธก์— ์„œ๋น„์Šค ์š”์ฒญ์„ ์˜๋ขฐํ•˜๋Š” ์ธก
    • ์›น ๋ธŒ๋ผ์šฐ์ €, ๋ฐ์Šคํฌํ†ฑ ํ”„๋กœ๊ทธ๋žจ, ๋ชจ๋ฐ”์ผ ์•ฑ, ๋‹ค๋ฅธ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋Š” ์„œ๋ฒ„ ๋“ฑ
  • Server

    • ํด๋ผ์ด์–ธํŠธ๋“ค์ด ์š”๊ตฌํ•˜๋Š” ๊ฐ์ข… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ธก
    • ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ ์ธก์œผ๋กœ๋ถ€ํ„ฐ ์„œ๋น„์Šค์˜ ์š”์ฒญ์„ ๋ฐ›๋Š” ์ธก
  • IP ์ฃผ์†Œ

    • ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ์„œ๋ฒ„์— ๋„๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์„œ๋ฒ„์˜ ์ •๋ณด
    • ๋„คํŠธ์›Œํฌ๋ง์—์„œ ์ปดํ“จํ„ฐ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ์œ„์น˜ ์ฃผ์†Œ
    • ๋„คํŠธ์›Œํฌ์ƒ์—์„œ ๋ฐ์ดํ„ฐ ์†ก/์ˆ˜์‹  ๊ธฐ์ค€

3. ์›น ์„œ๋ฒ„

  • ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์„ ์‘๋‹ตํ•ด์ฃผ๋Š” ํ†ต์‹ ์„ ํ•˜๋Š” ์ผ์ข…์˜ ์ปดํ“จํ„ฐ
  • ์›น ์„œ๋ฒ„์˜ ๊ธฐ๋ณธ ๋™์ž‘ ์›๋ฆฌ
      1. ๋ธŒ๋ผ์šฐ์ €(client)๋ฅผ ํ†ตํ•ด HTTP Request๋กœ ์›น์‚ฌ์ดํŠธ๋ฅผ ์›น์„œ๋ฒ„์— ์š”์ฒญ
      1. ์ดํ›„ ์›น ์„œ๋ฒ„๋Š” ์š”์ฒญ์„ ์Šน์ธํ•˜๊ณ  HTTP Response๋ฅผ ํ†ตํ•ด ์›น์‚ฌ์ดํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธŒ๋ผ์šฐ์ €์— ์ „์†ก
      1. ๋ธŒ๋ผ์šฐ์ €๋Š” ์„œ๋ฒ„์—์„œ ๋ฐ›์•„์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์›น์‚ฌ์ดํŠธ ์ƒ์„ฑ

4. API

API(Application programming interface)

  • ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋”ฐ๋ผ์•ผ ํ•˜๋Š” ๊ทœ์น™์„ ์ •์˜ํ•œ ๊ฒƒ
  • ์„œ๋กœ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•ฝ์†ํ•œ ๋ฐฉ์‹์˜ API ์š”์ฒญ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ •ํ•ด์ง„ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ

์ธํ„ฐํŽ˜์ด์Šค(Interface)

  • ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๊ธฐ๋ฅผ ์‰ฝ๊ฒŒ ๋™์ž‘์‹œํ‚ค๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” ์‹œ์Šคํ…œ

5. RESTful API

REST(Representational State Tranfer

  • API ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์กฐ๊ฑด์„ ๋ถ€๊ณผํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜
  • ์ธํ„ฐ๋„ท๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๋„คํŠธ์›Œํฌ์—์„œ ํ†ต์‹ ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ง€์นจ
  • REST API : REST ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์„ ๋”ฐ๋ฅด๋Š” API
  • RESTful ์›น ์„œ๋น„์Šค : REST ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์›น ์„œ๋น„์Šค

API ๋ฆฌ์†Œ์Šค ์‹๋ณ„์ž๋ฅผ ์ค‘๋ณต ์—†์ด ๊ณ ์œ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ํ•ด๋‹น API์— ์ ์ ˆํ•œ HTTP ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•จ = RESTfulํ•˜๊ฒŒ ์„ค๊ณ„ํ•จ