๐Ÿผ ๋ฐฑ์•ค๋“œ/Spring

SpringBoot ๋™์ž‘ ์›๋ฆฌ

๊ณ„๋ž€์†Œ๋…„ 2023. 9. 2. 18:38

(1)๋‚ด์žฅ ํ†ฐ์ผ“์„ ๊ฐ€์ง„๋‹ค.

ํ†ฐ์ผ“์„ ๋”ฐ๋กœ ์„ค์น˜ํ•  ํ•„์š” ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰๊ฐ€๋Šฅํ•˜๋‹ค.

Socket: ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ

A์™€ B๊ฐ€ ํ†ต์‹ ํ•œ๋‹ค. A๊ฐ€ 5000๋ฒˆ ์†Œ์ผ“์„ ์˜คํ”ˆํ•˜๋ฉด

B๊ฐ€ ip์ฃผ์†Œ:5000์™€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ๋„ฃ๊ณ  ์—ฐ๊ฒฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด A์™€ B๋Š” ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด๋Ÿฌ๋ฉด C๊ฐ€ A๋ž‘ ํ†ต์‹ ์„ ํ•˜๊ณ  ์‹ถ์€๋ฐ, 5000๋ฒˆ์€ ์ด๋ฏธ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ C๋Š” 5000๋ฒˆ์œผ๋กœ ์—ฐ๊ฒฐ์„ ๋ชปํ•œ๋‹ค.

์ตœ์ดˆ์˜ 5000๋ฒˆ ํฌํŠธ๋Š” ์—ฐ๊ฒฐ์šฉ๋„๋กœ๋งŒ ์“ฐ๊ณ  main์“ฐ๋ ˆ๋“œ(์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ๋ฐ›์Œ)๊ฐ€ ๋จ, ์—ฐ๊ฒฐ์ด ๋˜๋Š” ์ˆœ๊ฐ„ ์ƒˆ๋กœ์šด ์†Œ์ผ“(5001)์„ ๋งŒ๋“ ๋‹ค. 

๊ทธ๋Ÿฌ๋ฉด A๋Š” 5000๋ฒˆ ๊ณผ์˜ ์—ฐ๊ฒฐ์€ ๋Š๊ธฐ๊ณ   5001๋กœ B์™€ ํ†ต์‹ ํ•œ๋‹ค.

์ด๋•Œ, 5001์€ ์Šค๋ ˆ๋“œ1์„ ๋งŒ๋“œ๋Š”๋ฐ, ์ด๋•Œ C๋Š” 5000๋ฒˆ์— ์ ‘๊ทผํ•  ์ˆ˜  ์žˆ๋Š”๋ฐ, ๊ทธ๋Ÿฌ๋ฉด 5000๋ฒˆ์ด ์ƒˆ๋กœ์šด ์†Œ์ผ“์„ ๋งŒ๋“ ๋‹ค.

5002๋ผ๊ณ  ํ•˜๋ฉด, ์–˜๋„ ์ƒˆ๋กœ์šด ์Šค๋ ˆ๋“œ2๋ฅผ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๋ฉด C๋Š” 5000๊ณผ์˜ ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๊ณ , 5002์™€ ์—ฐ๊ฒฐ๋œ๋‹ค.

์ด๊ฒƒ์ด ์†Œ์ผ“ํ†ต์‹ ์ด๋‹ค.์‹œ๊ฐ„์„ ์ชผ๊ฐœ์„œ ๋™์‹œ์— ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค.

 

์†Œ์ผ“ํ†ต์‹ ์˜ ์žฅ์ 

์—ฐ๊ฒฐ์ด ๊ณ„์† ๋˜์–ด์žˆ์–ด์„œ ๋ถ€ํ•˜๊ฐ€ ํฌ๋‹ค. ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค. ํ•œ๋ฒˆ ์—ฐ๊ฒฐ๋˜๋ฉด ๊ณ„์† ํ†ต์‹ ๊ฐ€๋Šฅ

๋ฐ˜๋Œ€๋กœ

httpํ†ต์‹ ์€ ์—ฐ๊ฒฐ์„ ์ง€์†์‹œํ‚ค์ง€ ์•Š๋Š” stateless ๋ฐฉ์‹์„ ์“ด๋‹ค. 

์›๋ž˜ http๋Š” ๋ฌธ์„œ์ „๋‹ฌ ํ†ต์‹ . ๋‹ค์‹œ ์—ฐ๊ฒฐ๋ ๋•Œ๋Š” ์ƒˆ๋กœ์šด ์‚ฌ๋žŒ์œผ๋กœ ์ธ์‹ํ•œ๋‹ค.

์ด๋Ÿฐ ๋‹จ์ ์„ ๋ณด์™„ํ•˜๋ฉฐ ๋งŒ๋“ค์–ด์ง„๊ฒŒ ์›น์„œ๋ฒ„์ด๋‹ค.

http๋Š” html(ํ™•์žฅ์ž)๋กœ ๋งŒ๋“ค์–ด์ง„ ๋ฌธ์„œ๋ฅผ ํ•„์š”ํ•œ ์‚ฌ๋žŒ์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ

 

ํ†ฐ์ผ“

http: ์†Œ์ผ“์ด์šฉํ•ด์„œ ๋งŒ๋“œ๋Š”๋ฐ, 

์†Œ์ผ“์„ ๋ถ€๋ฅด๋Š”๊ฑธ ์‹œ์Šคํ…œ์ฝœ์ด๋ผ๊ณ  ํ•จ. 

ํ†ฐ์ผ“๊ณผ ์›น์„œ๋ฒ„์˜ ์ฐจ์ด

์›น์„œ๋ฒ„: ๊ฐ‘์ด๋‹ค. 

์„์ด ๊ฐ‘ํ•œํ…Œ ์š”์ฒญํ•œ๋‹ค. ์š”์ฒญ(request) ํ•  ๋•Œ๋Š” ip์ฃผ์†Œ๋ฅผ ์•Œ์•„์•ผํ•จ. ์–ด๋–ค๊ฒŒ ํ•„์š”ํ•œ์ง€๋ฅผ URL(์ž์›์š”์ฒญ์ฃผ์†Œ)๋กœ ๋งŒ๋“ ๋‹ค. 

๊ฐ‘์€ ์„ํ•œํ…Œ ์‘๋‹ต(response)ํ•ด์ฃผ๋Š”๋ฐ 

http์—์„œ ๊ฐ‘์€ ์„์˜ ip์ฃผ์†Œ๋ฅผ ๋ชจ๋ฅธ๋‹ค. ์š”์ฒญํ• ๋•Œ๋งŒ ์‘๋‹ตํ•ด์ฃผ๋ฉด ๋˜๋Š” ๊ตฌ์กฐ๊ธฐ ๋•Œ๋ฌธ.

๊ทธ๋ž˜์„œ ์š”์ฒญํ•˜์ง€ ์•Š์„ ๋•Œ ์‘๋‹ตํ•  ์ˆ˜ ์—†๋‹ค. ์„์˜ ์ฃผ์†Œ๋ฅผ ์•Œ๋ ค๋ฉด ์†Œ์ผ“์„ ์จ์•ผํ•จ.

์†Œ์ผ“์€ ์—ฐ๊ฒฐ์ด ์ง€์†๋˜๋Š” ํ†ต์‹ 

์š”์ฒญ์‹œ๋งˆ๋‹ค ๋ณ€ํ•˜๋Š” ์ž์›์ด ์•„๋‹Œ static ์ž์›

 

์›น์„œ๋ฒ„:์•„ํŒŒ์น˜ ์‚ฌ์šฉ.

์ปดํ“จํ„ฐ์— request๊ฐ€ ๋“ค์–ด์˜ค๋ฉด responseํ•ด์ฃผ๋ฉด ๋.

๋งŒ์•ฝ .jsp ํŒŒ์ผ์„ ์š”์ฒญํ•˜๊ฒŒ ๋˜๋ฉด ์•„ํŒŒ์น˜๋Š” ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜์ง€๋ชปํ•˜๊ธฐ์— ์‘๋‹ตํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ํ†ฐ์ผ“์„ ๋‹จ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์•„ํŒŒ์น˜๊ฐ€ ์ดํ•ด๋ชปํ•˜๋Š” ํŒŒ์ผ์š”์ฒญ์ด ์˜ฌ๋•Œ ์ œ์–ด๊ถŒ์„ ํ†ฐ์ผ“์—๊ฒŒ ์ค€๋‹ค.

์ด ํ†ฐ์ผ“์€ .jspํŒŒ์ผ ์•ˆ์— ์žˆ๋Š” ๋ชจ๋“  ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  ์ปดํŒŒ์ผ์ด ๋๋‚˜๋ฉด ๊ทธ ์ปดํŒŒ์ผ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ .html์— ๋ฎ์–ด์”Œ์šด๋‹ค.

 

ํ†ฐ์ผ“์€ ์ž๋ฐ”์ฝ”๋“œ๋ฅผ ์ปดํŒŒ์ผํ•˜๊ณ  html ๋ฌธ์„œ๋กœ ๋งŒ๋“ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์•„ํŒŒ์น˜์—๊ฒŒ ๋Œ๋ ค์ค€๋‹ค.

์•„ํŒŒ์น˜๋Š” ํ•ด๋‹น .htmlํŒŒ์ผ์„ ์‘๋‹ตํ•˜๋Š”๊ฒƒ

์š”์ฒญํ• ๋•Œ๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๋กœ ์š”์ฒญ. 

์›น๋ธŒ๋ผ์šฐ์ €๋Š” html,javascript,css ๋“ฑ๋งŒ ์ดํ•ด๊ฐ€๋Šฅ. ์ž๊ธฐ๊ฐ€ ์ดํ•ด๋ชปํ•˜๋Š”๊ฑฐ๋Š” ์ œ๊ธฐ๋Šฅ์„ ๋ชปํ•จ

๋”ฐ๋ผ์„œ .jspํŒŒ์ผ์ด ๋Œ์•„์˜ค๋ฉด ๋‚ด์šฉ์ด ๊นจ์ง„๋‹ค. ๋”ฐ๋ผ์„œ ํ†ฐ์ผ“์ด htmlํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ์›น๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋„˜๊ฒจ์ค€๋‹ค.

์•„ํŒŒ์น˜๋Š” ์š”์ฒญํŒŒ์ผ์„ ์‘๋‹ต

ํ†ฐ์ผ“์€ ์š”์ฒญํŒŒ์ผ ์ค‘ ์ž๋ฐ” ์ฝ”๋“œ๊ฐ€ ์š”์ฒญ๋˜๋ฉด ๊ทธ๊ฒƒ์„ ์ปดํŒŒ์ผํ•ด์„œ htmlํŒŒ์ผ๋กœ ๋ฒˆ์—ญํ•ด์„œ ๋Œ๋ ค์ฃผ๋Š” ๊ฒƒ

 

์š”์•ฝํ•˜์ž๋ฉด, ์†Œ์ผ“ ํ†ต์‹ ๊ณผ HTTP ํ†ต์‹  ์‚ฌ์ด์˜ ์„ ํƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์†Œ์ผ“ ํ†ต์‹ ์€ ์‹ค์‹œ๊ฐ„, ์งง์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„ ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ”„๋กœํ† ์ฝœ์— ๋” ์ ํ•ฉํ•œ ๋ฐ˜๋ฉด, HTTP๋Š” ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ๋„๋ฆฌ ์ฑ„ํƒ๋˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์—๋Š” ์žฅ์ ๊ณผ ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ํ”„๋กœ์ ํŠธ์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ๋ชฉํ‘œ์— ๋”ฐ๋ผ ๊ฒฐ์ •์„ ๋‚ด๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.