๊ฐœ๋ฐœ์ž HOON
๐Ÿ› HOON DEVLog
๊ฐœ๋ฐœ์ž HOON
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๐Ÿ˜Ž ์ „์ฒด ์นดํ…Œ๊ณ ๋ฆฌ (137)
    • ๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„ (7)
    • ๐Ÿฆ” ์ทจ์—…์ค€๋น„ ๊ธฐ๋ก (7)
    • โ˜• ์ž๋ฐ” : JAVA (5)
    • ๐Ÿ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋Œ€๋น„ : PS (80)
    • ๐ŸŒฑ ๋ฐฑ์—”๋“œ : Backend (13)
    • ๐Ÿงช ์ปดํ“จํ„ฐ๊ณผํ•™ : CS (11)
    • ๐Ÿ—‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค : DB (1)
    • ๐Ÿƒ‍โ™‚๏ธ DEVLOG (8)
    • โš™๏ธ Trouble Shooting (5)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • GitHub
  • Resume

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ฐœ๋ฐœ์ž HOON

๐Ÿ› HOON DEVLog

[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฃ ๋„คํŠธ์›Œํฌ
๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„

[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฃ ๋„คํŠธ์›Œํฌ

2022. 10. 31. 14:37

๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๊ธ€์„ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ..

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

 

 

๐Ÿง‘๐Ÿป‍๐Ÿ’ป ๋„คํŠธ์›Œํฌ ๋ฉด์ ‘ ์งˆ๋ฌธ

๐Ÿ’ก 1. OSI 7 Layer์˜ ๊ฐ ๊ณ„์ธต์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

 

  • 7๊ณ„์ธต (Application Layer, ์‘์šฉ๊ณ„์ธต) : ์ตœ์ข… ๋ชฉ์ ์ง€๋กœ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์—ฐ๊ด€ํ•ด ์„œ๋น„์Šค๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. HTTP, FTP, DNS๋“ฑ์ด 7๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 6๊ณ„์ธต (Presentation Layer, ํ‘œํ˜„๊ณ„์ธต) : ๋ฐ์ดํ„ฐ ์••์ถ• ํ˜น์€ ๋ณ€ํ™˜์ด ์ด๋ค„์ง€๋Š” ๊ณ„์ธต์œผ๋กœ, ๋ฐ์ดํ„ฐ์˜ ํ˜•์‹์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. JPEG, MPEG๋“ฑ์ด 6๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 5๊ณ„์ธต (Session Layer, ์„ธ์…˜๊ณ„์ธต) : ๋ฐ์ดํ„ฐ๊ฐ€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ์„ ๋‹ด๋‹นํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ์„ธ์…˜์„ ์ƒ์„ฑํ•ด ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. API๋‚˜ Socket์ด 5๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 4๊ณ„์ธต (Transport Layer, ์ „์†ก๊ณ„์ธต) : ์ข…๋‹จ ๊ฐ„ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„๋Š” ์„ธ๊ทธ๋จผํŠธ์ž…๋‹ˆ๋‹ค. TCP์™€ UDP๊ฐ€ 4๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 3๊ณ„์ธต (Network Layer, ๋„คํŠธ์›Œํฌ๊ณ„์ธต) : IP๋ฅผ ์ง€์ •ํ•˜๊ณ  ๋ผ์šฐํ„ฐ๋กœ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„๋Š” ํŒจํ‚ท์ž…๋‹ˆ๋‹ค. Router๊ฐ€ 3๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 2๊ณ„์ธต (Datalink Layer, ๋ฐ์ดํ„ฐ๋งํฌ๊ณ„์ธต) : ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ์ „์†ก์„ ์œ„ํ•ด ์—๋Ÿฌ ๊ฒ€์ถœ, ํ๋ฆ„์ œ์–ด๋ฅผ ๋‹ด๋‹นํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ์˜ ๋ฌผ๋ฆฌ์ ์ธ ์ „์†ก์ด ์ผ์–ด๋‚˜๋Š” ๊ณ„์ธต์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„๋Š” ํ”„๋ ˆ์ž„์ž…๋‹ˆ๋‹ค. Ethernet์ด 2๊ณ„์ธต์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 1๊ณ„์ธต (Physical Layer, ๋ฌผ๋ฆฌ๊ณ„์ธต) : ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ธฐ ์‹ ํ˜ธ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณ„์ธต์œผ๋กœ, ๋ฐ์ดํ„ฐ ๋‹จ์œ„๋Š” ๋น„ํŠธ์ž…๋‹ˆ๋‹ค.

 

์—ฌ๋Ÿฌ ๊ณ„์ธต์œผ๋กœ ๋ถ„ํ• ํ•œ ์ด์œ ๋Š”, ํ†ต์‹ ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์•Œ ์ˆ˜ ์žˆ๊ณ  ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํ•ด๋‹น ๋‹จ๊ณ„๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 2. ์ „์†ก๊ณ„์ธต๊ณผ ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต ๋ชจ๋‘ ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋‚˜์š”?

๋”๋ณด๊ธฐ

์ „์†ก๊ณ„์ธต์€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ, ์ข…๋‹จ๊ฐ„์˜ ํ˜ธ์ŠคํŠธ์— ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ(ํ๋ฆ„์ œ์–ด, ํ˜ผ์žก์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ ํ˜ธ์ŠคํŠธ ์‚ฌ์ด์˜ ์ „์†ก์œผ๋กœ ์ง์ ‘ ๋ฌถ์—ฌ์žˆ๋Š” ํ˜ธ์ŠคํŠธ-๋…ธ๋“œ ํ˜น์€ ๋…ธ๋“œ-๋…ธ๋“œ ๊ฐ„์˜ ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ(์˜ค๋ฅ˜์ œ์–ด, ํ๋ฆ„์ œ์–ด, ํšŒ์„ ์ œ์–ด)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

ํ•œ ์ค„ ์š”์•ฝ : ์ „์†ก๊ณ„์ธต์€ ๋…ผ๋ฆฌ์  ์—ฐ๊ฒฐ (์ข…๋‹จ๊ฐ„ ํ˜ธ์ŠคํŠธ) / ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์€ ๋ฌผ๋ฆฌ์  ์—ฐ๊ฒฐ (์ธ์ ‘ํ•œ ๋…ธ๋“œ or ํ˜ธ์ŠคํŠธ)

 

 

 

๐Ÿ’ก 3. ์ „์†ก๊ณ„์ธต์ด ๋ฐ์ดํ„ฐ ๋ถ„์‹ค์„ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์ „์†ก๊ณ„์ธต์—์„  ๋ฐ์ดํ„ฐ๋ฅผ 'ํŒจํ‚ท'๋‹จ์œ„๋กœ ์ชผ๊ฐœ์–ด ๊ฐ™์€ ๋ชฉ์ ์ง€๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํŒจํ‚ท์— ๊ฐ๊ฐ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด ๋ชฉ์ ์ง€์—์„œ ํŒจํ‚ท์„ ์žฌ์กฐ๋ฆฝํ•ด์„œ ํŒจํ‚ท์˜ ๋ถ„์‹ค ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 4. ์ „์†ก๊ณ„์ธต์ด ์ œ๊ณตํ•˜๋Š” ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ค‘, ํ๋ฆ„์ œ์–ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์†ก์‹ ์ธก๊ณผ ์ˆ˜์‹ ์ธก ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด์„œ ์†ก์‹ ์ธก์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ๋ฆ„์ œ์–ด ๊ธฐ๋ฒ•์œผ๋กœ ์Šฌ๋ผ์ด๋“œ ์œˆ๋„์šฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

http://blog.skby.net/%EC%8A%AC%EB%9D%BC%EC%9D%B4%EB%94%A9-%EC%9C%88%EB%8F%84%EC%9A%B0sliding-window/

 

์Šฌ๋ผ์ด๋“œ ์œˆ๋„์šฐ ํฌ๊ธฐ ๋งŒํผ ํŒจํ‚ท์„ ์ „์†กํ•˜๊ณ  ์ˆ˜์‹ ์ž์—๊ฒŒ์„œ ACK๊ฐ€ ์˜ค์ง€ ์•Š์œผ๋ฉด ์œˆ๋„์šฐ๋ฅผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ „์†ก๋œ ํŒจํ‚ท์„ ์ž˜ ๋ฐ›์•˜๋‹ค๋Š” ACK์‹ ํ˜ธ๊ฐ€ ์ˆ˜์‹ ์ž๋กœ๋ถ€ํ„ฐ ์†ก์‹ ์ž๋กœ ๋Œ์•„์˜ค๋ฉด ACK์˜ ์ˆ˜๋งŒํผ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๊ฐ€ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋กœ์ง์„ ํ†ตํ•ด ํ•œ ๋ฒˆ์— ๋‹ค๋Ÿ‰์˜ ํŒจํ‚ท์ด ์ „์†ก๋˜์–ด ์ˆ˜์‹ ์ž์˜ ๋ฒ„ํผ๊ฐ€ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ๋˜๋Š” ํ˜„์ƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 5. ์ „์†ก๊ณ„์ธต์ด ์ œ๊ณตํ•˜๋Š” ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ค‘, ์˜ค๋ฅ˜์ œ์–ด(์žฌ์ „์†ก ํ”„๋กœํ† ์ฝœ)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์˜ค๋ฅ˜์ œ์–ด๋Š”, ํŒจํ‚ท์ด ์†์ƒ๋˜์—ˆ๊ฑฐ๋‚˜ ์†์‹ค๋œ ๊ฒฝ์šฐ, ์žฌ์ „์†ก์„ ํ†ตํ•ด ์˜ค๋ฅ˜๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์žฌ์ „์†ก ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ ๋„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

์žฌ์ „์†ก ํ”„๋กœํ† ์ฝœ์€ ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์ „์†ก์€ ๋น„ํšจ์œจ์ ์ด๋ฏ€๋กœ ์ ์„์ˆ˜๋ก ์ข‹์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

 

1) Stop and Wait

https://benlee73.tistory.com/186

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

 

2) Go-Back-N

https://benlee73.tistory.com/186

์—ฐ์†์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๋‹ค๊ฐ€, ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์ง€์ ๋ถ€ํ„ฐ ์žฌ์ „์†กํ•˜๋Š” ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์„ฑ๊ณต์ ์œผ๋กœ ์ „์†ก๋œ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์žฌ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ ๋น„ํšจ์œจ์ ์ธ ์ธก๋ฉด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

3) Selective Repeat (SR)

https://benlee73.tistory.com/186

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์žฌ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ˆ˜์‹  ์ธก ๋ฒ„ํผ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆœ์ฐจ์ ์ด์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์ด ๋‹จ์ ์ž…๋‹ˆ๋‹ค. ์ •๋ ฌ์˜ ๊ณผ์ •์ด ์ถ”๊ฐ€๋กœ ํ•„์š”ํ•˜๊ณ , ๋ณ„๋„์˜ ๋ฒ„ํผ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Go-Back-N ์žฌ์ „์†ก ํ”„๋กœํ† ์ฝœ๊ณผ ๋น„๊ตํ•˜์—ฌ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 6. ์ „์†ก๊ณ„์ธต์ด ์ œ๊ณตํ•˜๋Š” ์‹ ๋ขฐ์„ฑ ๊ด€๋ จ ๊ธฐ๋Šฅ ์ค‘, ํ˜ผ์žก์ œ์–ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

๋„คํŠธ์›Œํฌ์˜ ํ˜ผ์žก์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ์†ก์‹ ์ธก์—์„œ ๋ณด๋‚ด๋Š” ๋ฐ์ดํ„ฐ์˜ ์ „์†ก ์†๋„๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ํ˜ผ์žก์€, ๋„คํŠธ์›Œํฌ ๋‚ด์— ํŒจํ‚ท์˜ ์ˆ˜๊ฐ€ ๊ณผ๋„ํ•˜๊ฒŒ ์ฆ๊ฐ€ํ•˜๋Š” ํ˜„์ƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ˜ผ์žก ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ  ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด ํ˜ผ์žก์ œ์–ด ์ž…๋‹ˆ๋‹ค.

 

1) AIMD ๋ฐฉ์‹ (Additive Increase / Multiplicative Decrease)

  • ์ฒ˜์Œ ํŒจํ‚ท ํ•˜๋‚˜๋ฅผ ๋ณด๋‚ด ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๋ฉด Window Size๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐฉ์‹
  • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด Window Size๋ฅผ ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ธ๋‹ค.
  • ์ดˆ๊ธฐ์— ๋†’์€ ๋Œ€์—ญํญ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜์—ฌ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ๋„คํŠธ์›Œํฌ๊ฐ€ ํ˜ผ์žกํ•ด์ง€๋Š” ์ƒํ™ฉ์„ ๋ฏธ๋ฆฌ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•œ๋‹ค.

 

2) Slow Start ๋ฐฉ์‹

  • ์ฒ˜์Œ ํŒจํ‚ท์„ ํ•˜๋‚˜์”ฉ ๋ณด๋‚ด๋Š” ๊ฒƒ์€ ๊ฐ™์ง€๋งŒ ๋งค ์ „์†ก๋งˆ๋‹ค 2๋ฐฐ์”ฉ ์ฆ๊ฐ€ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ง€์ˆ˜ํ•จ์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•œ๋‹ค.
  • ์ „์†ก๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๊ฐ€ ์ž„๊ณ„๊ฐ’์— ๋„๋‹ฌํ•˜๋ฉด ํ˜ผ์žก ํšŒํ”ผ ๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ„๋‹ค.
  • ํ˜ผ์žก ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜๋ฉด Window size๋ฅผ 1๋กœ ์ค„์ธ๋‹ค.
  • ํ˜ผ์žก ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋˜ Window Size ์ ˆ๋ฐ˜ ๊นŒ์ง€๋Š” ์ง€์ˆ˜ํ•จ์ˆ˜ ๊ผด๋กœ ์ฆ๊ฐ€ํ•˜๊ณ  ์ดํ›„๋ถ€ํ„ฐ๋Š” 1์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค.

 

3) Fast Recovery ๋ฐฉ์‹

  • ํ˜ผ์žก ์‹œ 1๋กœ ์ค„์ด์ง€ ์•Š๊ณ  ์ ˆ๋ฐ˜์œผ๋กœ ์ค„์ด๊ณ  ์„ ํ˜• ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐฉ์‹
  • ํ˜ผ์žก ์ƒํ™ฉ์„ ํ•œ ๋ฒˆ ๊ฒช์€ ์ดํ›„๋กœ๋Š” AIMD ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

 

4) ํ˜ผ์žก ํšŒํ”ผ ๋ฐฉ์‹

  • ์ž„๊ณ„๊ฐ’์„ ๋„˜์–ด๊ฐ€๋ฉด 1์”ฉ๋งŒ ์„ ํ˜•์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ๋ฐฉ์‹

 

 

 

๐Ÿ’ก 7. DNS๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

Domain Name Server์˜ ์•ฝ์–ด๋กœ, IP์ฃผ์†Œ๋ฅผ ๋ฌธ์ž๋กœ ํ‘œํ˜„ํ•œ ์ฃผ์†Œ๋กœ ๋ฐ”๊พธ๋Š” ์‹œ์Šคํ…œ ํ˜น์€ ์„œ๋ฒ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 8. www.google.com  ๋„๋ฉ”์ธ์„ ๋ธŒ๋ผ์šฐ์ €์— ์ž…๋ ฅํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ์ผ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

1) www.google.com์„ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 

2) ๋ธŒ๋ผ์šฐ์ €๋Š” ์บ์‹ฑ๋œ DNS ๊ธฐ๋ก(๋ธŒ๋ผ์šฐ์ € ์บ์‹œ, OS ์บ์‹œ, ๋ผ์šฐํ„ฐ ์บ์‹œ, ISP ์บ์‹œ)์„ ํ†ตํ•ด ํ•ด๋‹น ๋„๋ฉ”์ธ ์ฃผ์†Œ์— ๋Œ€์‘๋˜๋Š” IP์ฃผ์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

3) ์š”์ฒญํ•œ URL์ด ์บ์‹œ์— ์—†๋Š” ๊ฒฝ์šฐ, ISP์˜ DNS ์„œ๋ฒ„๊ฐ€ www.google.com์„ ํ˜ธ์ŠคํŒ…ํ•˜๊ณ  ์žˆ๋Š” ์„œ๋ฒ„์˜ IP์ฃผ์†Œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด DNS Query๋ฅผ ๋ณด๋‚ด ์ฐพ์Šต๋‹ˆ๋‹ค.

4) ๋ธŒ๋ผ์šฐ์ €๋Š” www.google.com์— ํ•ด๋‹นํ•˜๋Š” IP ์ฃผ์†Œ๋ฅผ ํš๋“ํ•ด ํ•ด๋‹น ์„œ๋ฒ„์™€ TCP ์—ฐ๊ฒฐ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. (3-way handshake)

5) TCP ์—ฐ๊ฒฐ์ด ์™„๋ฃŒ๋˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์›น ์„œ๋ฒ„์— HTTP Request๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

6) ์„œ๋ฒ„๋Š” ํ•ด๋‹น Request๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  Response๋ฅผ ์ƒ์„ฑํ•ด ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

7) ๋ธŒ๋ผ์šฐ์ €๋Š” ํ•ด๋‹น Response๋ฅผ ์ฝ์–ด๋“ค์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 9. TCP Connection ์‹œ 3-way handshaking์„ ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ, ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์‹œ๊ฒ ์–ด์š”?

๋”๋ณด๊ธฐ

TCP๋Š” ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ์ „์†ก์„ ์œ„ํ•ด 1:1๋กœ ์„œ๋กœ ์ž˜ ์—ฐ๊ฒฐ๋˜์—ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์ด ๋ฐ”๋กœ 3-way handshaking์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

1) Client๊ฐ€ Server์—๊ฒŒ ์ ‘์† ์š”์ฒญ SYN ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

2) ์„œ๋ฒ„๋Š” SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ , ํ•ด๋‹น ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜๋Š” ACK์™€ Client์™€ ์—ฐ๊ฒฐํ•˜๊ฒ ๋‹ค๋Š” SYN ํŒจํ‚ท์„ ๋™์‹œ์— ๋ณด๋ƒ…๋‹ˆ๋‹ค.

3) Client๋Š” ์„œ๋ฒ„์—๊ฒŒ ํ™•์ธ ์‘๋‹ต์œผ๋กœ ACK ํŒจํ‚ท์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

์ด์ฒ˜๋Ÿผ, ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๋ชจ๋‘๊ฐ€ SYN์™€ ACK๋ฅผ ์„œ๋กœ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ณผ์ •์„ ์™„๋ฃŒํ•˜๋ฉด ๋น„๋กœ์†Œ ์—ฐ๊ฒฐ์ด ๋˜์—ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 10. ๊ทธ๋ ‡๋‹ค๋ฉด TCP Connection์„ ํ•ด์ œํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ์–ด๋–ป๋‚˜์š”?

๋”๋ณด๊ธฐ

3-way handshaking์ด ์•„๋‹Œ, 4-way handshacking์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

1) Client๊ฐ€ Server์—๊ฒŒ FIN ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

2) Server๋Š” Client๊ฐ€ ๋ณด๋‚ด์˜จ FIN ์‹ ํ˜ธ์— ์‘๋‹ตํ•˜๋Š” ACK ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

3) Server๋Š” Client์—๊ฒŒ FIN ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

4) Client๋Š” Server๊ฐ€ ๋ณด๋‚ด์˜จ FIN ์‹ ํ˜ธ์— ์‘๋‹ตํ•˜๋Š” ACK ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 11. ์—ฐ๊ฒฐํ•ด์ œ ์‹œ 4-way handshacking์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๋”๋ณด๊ธฐ

1) Client๋Š” Server์—๊ฒŒ ๋ฐ์ดํ„ฐ ์š”์ฒญ์„ ๋ชจ๋‘ ๋ณด๋ƒˆ๋‹คํ•˜๋”๋ผ๋„, Server๋Š” Client์—๊ฒŒ ๋ณด๋‚ด์•ผ ํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„์žˆ์„ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— FIN๊ณผ ACK๋ฅผ ํ•œ ๋ฒˆ์— ๋ณด๋‚ด์ง€ ์•Š๊ณ , ์„œ๋ฒ„ ์ธก์—์„œ ๋ณด๋‚ผ ๋ฐ์ดํ„ฐ ๋งˆ์ € ๋‹ค ๋ณด๋ƒˆ์„ ๊ฒฝ์šฐ FIN ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

 

 

๐Ÿ’ก 12. ๊ทธ๋ ‡๋‹ค๋ฉด, Server๊ฐ€ Client์—๊ฒŒ FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— ์ „์†กํ•œ ํŒจํ‚ท์ด ์ง€์—ฐ์ด๋‚˜ ์œ ์‹ค๋กœ ์ธํ•ด ์žฌ์ „์†ก์ด ์ผ์–ด๋‚˜ FIN ํŒจํ‚ท๋ณด๋‹ค ๋Šฆ๊ฒŒ ๋„์ฐฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๋‚˜์š”?

๋”๋ณด๊ธฐ

์ด๋Ÿฐ ์ผ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด์„œ, Server๋กœ๋ถ€ํ„ฐ Client๊ฐ€ FIN ํ”Œ๋ž˜๊ทธ๋ฅผ ๋ฐ›๋”๋ผ๋„ ๋ฐ”๋กœ ์„ธ์…˜์„ ์ข…๋ฃŒ์‹œํ‚ค์ง€ ์•Š๊ณ  ์ผ์ •์‹œ๊ฐ„ ์ž‰์—ฌ ํŒจํ‚ท์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. (10๋ฒˆ ๋ฌธ์ œ์˜ 4๋ฒˆ ์ดํ›„)

 

 

 

๐Ÿ’ก 13. ํฌํŠธ๊ฐ€ ๋ฌด์—‡์ด๊ณ , ์†Œ์ผ“์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

ํฌํŠธ๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ๊ณ ๋ฐ›๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ํ˜ธ์ŠคํŠธ ๋‚ด๋ถ€์ ์œผ๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ• ๋‹น๋ฐ›๋Š” ๊ณ ์œ ํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ IP ์ฃผ์†Œ ๋‚ด์— ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ถ€์—ฌ๋œ ํ†ต์‹  ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

 

์†Œ์ผ“์€ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ํ†ต์‹ ์˜ ์ข…์ฐฉ์ ์œผ๋กœ, ๋‘ ์‹œ์Šคํ…œ ์‚ฌ์ด์˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค.

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

 

 

 

๐Ÿ’ก 14. TCP์™€ UDP์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
  TCP UDP
์—ฐ๊ฒฐ์„ฑ ์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•จ ๋น„์—ฐ๊ฒฐํ˜• ์„œ๋น„์Šค๋ฅผ ์ง€์›ํ•จ
์‹ ๋ขฐ์„ฑ ํ๋ฆ„์ œ์–ด, ํ˜ผ์žก์ œ์–ด, ์˜ค๋ฅ˜์ œ์–ด๋กœ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ checksum ํ•„๋“œ๋กœ ์ตœ์†Œํ•œ์˜ ์˜ค๋ฅ˜๋งŒ ๋ณด์žฅ
์†๋„ UDP์— ๋น„ํ•ด ๋А๋ฆผ TCP์— ๋น„ํ•ด ๋น ๋ฆ„
์—ฐ๊ฒฐ๊ณผ์ • 3-way handshacking / 4-way handshacking X
์บ์ŠคํŠธ ์œ ๋‹ˆ์บ์ŠคํŠธ (1:1) ๋ฉ€ํ‹ฐ์บ์ŠคํŠธ, ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ (1:N, 1:์ „์ฒด)
ํŠน์ง• http ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ, ์ „์†ก์ด ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๋™์‹œ์— ๊ฐ€๋Šฅ, ์ ๋Œ€์  ๋ฐฉ์‹ ์ „์†ก์„ ์œ„ํ•œ ๋…ผ๋ฆฌ์  ๊ฒฝ๋กœ ์—†์Œ, ์ „์†ก ์ˆœ์„œ ๋ณด์žฅ X, ์ˆ˜์‹ ์—ฌ๋ถ€ ํ™•์ธ X

 

UDP์™€ TCP๋Š” ๊ฐ๊ฐ ๋ณ„๋„์˜ ํฌํŠธ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ด€๋ฆฌํ•˜๋ฏ€๋กœ ๊ฐ™์€ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค.

๋‘ ํ”„๋กœํ† ์ฝœ ๊ฐ๊ฐ ๋™์ผํ•œ ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹นํ•ด๋„ ์„œ๋กœ ๋‹ค๋ฅธ ํฌํŠธ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

checksum์€ ํ—ค๋”์™€ ๋ฐ์ดํ„ฐ์˜ ์—๋Ÿฌ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋˜์ง€๋งŒ, UDP๋Š” ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ณ„๋‹ค๋ฅธ ์กฐ์น˜๋ฅผ ์ทจํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต๊ตฌ๋ฅผ ์œ„ํ•œ ํ•„๋“œ๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— TCP ํ—ค๋”์— ๋น„ํ•ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

๐Ÿ’ก 15. HTTP์˜ ํŠน์ง•์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

HTTP ํ”„๋กœํ† ์ฝœ์€ ํฌ๊ฒŒ 2๊ฐ€์ง€ ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

- ๋น„์—ฐ๊ฒฐ์ง€ํ–ฅ (connectionless) : client๊ฐ€ server์— request๋ฅผ ๋ณด๋‚ด๊ณ , ์„œ๋ฒ„๊ฐ€ ํ•ด๋‹น ์š”์ฒญ์— ๋งž๋Š” response๋ฅผ ๋ณด๋‚ด๋ฉด ๋ฐ”๋กœ ์—ฐ๊ฒฐ์„ ๋Š์Šต๋‹ˆ๋‹ค.

- ์ƒํƒœ ๋น„์ €์žฅ (stateless) : ์—ฐ๊ฒฐ์„ ๋Š๋Š” ์ˆœ๊ฐ„ client์™€ server์˜ ํ†ต์‹ ์€ ๋๋‚˜๋ฉฐ, ์ƒํƒœ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํ•˜์ง€๋งŒ, ๊ฐ€๋”์”ฉ ์ด '์ƒํƒœ'์— ๋Œ€ํ•œ ์ €์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์–ด์„œ ์ฟ ํ‚ค์™€ ์„ธ์…˜์ด ๋“ฑ์žฅํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 16. HTTP์™€ HTTPS์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

1) HTTP

  • world wide web์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ
  • client-server๊ฐ„์˜ request-response ํ”„๋กœํ† ์ฝœ
  • ์ฃผ๋กœ HTML ๋ฌธ์„œ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š”๋ฐ ์‚ฌ์šฉํ•จ

 

2) HTTPS

  • HTTP์˜ ๋ณด์•ˆ์ƒ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ํ”„๋กœํ† ์ฝœ
  • HTTP๋Š” TEXT๋กœ ์ž์›์„ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ ์ค‘๊ฐ„์„ ๊ฐ€๋กœ์ฑˆ๋‹ค๋ฉด, ๋‚ด์šฉ์ด ์œ ์ถœ๋˜๋Š” ์‚ฌ๊ณ ๊ฐ€ ์ƒ๊น€
  • ๋”ฐ๋ผ์„œ SSL, TLS๋ฅผ ์ด์šฉํ•ด ์•”ํ˜ธํ™”๋ฅผ ๊ฑฐ์ณ ์ฃผ๊ณ  ๋ฐ›์Œ (์‘์šฉ-์ „์†ก ๊ณ„์ธต ์‚ฌ์ด์— ์œ„์น˜)
  • HTTP Request์™€ Response ๋ฐ์ดํ„ฐ๋Š” ๋„คํŠธ์›Œํฌ๋กœ ๋ณด๋‚ด์ง€๊ธฐ ์ „, ์ „์†ก-์‘์šฉ ๊ณ„์ธต ์‚ฌ์ด์—์„œ ์•”ํ˜ธํ™” ๋จ.
  • Body ๋ถ€๋ถ„๋งŒ ์•”ํ˜ธํ™”, Header๋Š” ์•”ํ˜ธํ™” X
  • Client๊ฐ€ Server๋กœ ์ ‘์†์„ ์š”์ฒญํ•˜๋ฉด, Server๋Š” ๊ณต๊ฐœํ‚ค๋ฅผ Client์—๊ฒŒ ์ „๋‹ฌ. Client๋Š” ์ž์‹ ์˜ ๋Œ€์นญํ‚ค๋ฅผ ๋ฐ›์€ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•ด์„œ Server์— ์ „๋‹ฌ. Server๋Š” ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™”ํ•ด์„œ Client์˜ ๋Œ€์นญํ‚ค๋ฅผ ํš๋“. ์–ป์–ด๋‚ธ ๋Œ€์นญํ‚ค๋ฅผ ์‚ฌ์šฉํ•ด ์•”ํ˜ธ๋ฌธ์„ ์ฃผ๊ณ  ๋ฐ›์Œ
  • ์•”ํ˜ธํ™” ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๊ณ , ์•”ํ˜ธํ™” ๊ณผ์ •์—์„œ ์„œ๋ฒ„์— ๋ถ€ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ, ์—ฐ๊ฒฐ์ด ๋Š๊ธฐ๋ฉด ์žฌ์ธ์ฆ ์‹œ๊ฐ„์ด ์†Œ์š”๋จ.

 

 

 

๐Ÿ’ก 17. HTTP Method์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ
GET ์กฐํšŒ, ๋ฆฌ์†Œ์Šค ์š”์ฒญ
POST ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ž์›์„ ์ƒ์„ฑํ•จ
PUT ์š”์ฒญ๋œ ์ž์›์ด ์—†์œผ๋ฉด ์ƒ์„ฑ, ์žˆ์œผ๋ฉด ์ƒˆ ๊ฒƒ์œผ๋กœ ์ „์ฒด ๊ฐฑ์‹ 
PATCH ์ž์›์˜ ์ผ๋ถ€๋ถ„๋งŒ ์ˆ˜์ •
DELETE ์š”์ฒญ๋œ ์ž์›์„ ์‚ญ์ œ

 

 

 

๐Ÿ’ก 18. ๋ฉฑ๋“ฑ์„ฑ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , HTTP ๋ฉ”์†Œ๋“œ์—์„œ๋Š” ์–ด๋–ค ๋ฉ”์†Œ๋“œ๊ฐ€ ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

ํŠน์ • ๋ฉ”์†Œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์š”์ฒญํ–ˆ๋Š”๋ฐ, ๋งค๋ฒˆ ์š”์ฒญ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ๋ฅผ ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

GET, PUT, DELETE๋ฅผ ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ์— ์†ํ•˜๊ณ  POST๋Š” ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

(POST ์š”์ฒญ์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๊ฐ™์€ ๋‚ด์šฉ์ด๋”๋ผ๋„ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณ„์† ์ถ”๊ฐ€๋œ๋‹ค.)

 

 

 

๐Ÿ’ก 19. HTTP์˜ Keep-alive ํ—ค๋”์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

HTTP๋Š” ๋งค๋ฒˆ ์—ฐ๊ฒฐ์„ ๋Š๊ณ  ์ƒˆ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ์‹œ๊ฐ„๊นŒ์ง€๋Š” ์ ‘๊ทผ์ด ์—†๋”๋ผ๋„ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋„๋ก ํ•˜๋Š” ํ—ค๋”์ž…๋‹ˆ๋‹ค.

HTTP 1.1๋ถ€ํ„ฐ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 20. HTTP 1.0 vs HTTP 1.1 vs HTTP 2.0์„ ๊ฐ๊ฐ ๋น„๊ตํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์—…๋ฐ์ดํŠธ ์˜ˆ์ •.

 

 

 

๐Ÿ’ก 21. CORS๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ (Cross-Origin Resource Sharing, CORS)๋Š” ์ถ”๊ฐ€ HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์„ ํƒํ•œ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์ฃผ๋Š” ์ฒด์ œ์ž…๋‹ˆ๋‹ค.

 

Web Application์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ์ž์‹ ์˜ ์ถœ์ฒ˜(๋„๋ฉ”์ธ, ํ”„๋กœํ† ์ฝœ, ํฌํŠธ)์™€ ๋‹ค๋ฅผ ๋•Œ ๊ต์ฐจ ์ถœ์ฒ˜ HTTP ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 22. REST API์™€ RESTful ํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

REST๋Š” HTTP URI๋ฅผ ํ†ตํ•ด ์ž์›์„ ๋ช…์‹œํ•˜๊ณ  HTTP Method๋ฅผ ํ†ตํ•ด ์ž์›์„ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ ์•„ํ‚คํ…์ฒ˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ REST๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“  API๋ฅผ REST API๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

RESTful ํ•˜๋‹ค๋Š” ๊ฒƒ์€, REST ์›๋ฆฌ๋ฅผ ์ž˜ ๋”ฐ๋ฅด๋Š” ์‹œ์Šคํ…œ์„ RESTful ํ•˜๋‹ค๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

REST ์›๋ฆฌ์—๋Š” ๋‹ค์–‘ํ•œ ์กฐ๊ฑด๋“ค์ด ํฌํ•จ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

  • URI ์ž‘์„ฑ ์กฐ๊ฑด
  • HTTP Method๋กœ ํ–‰์œ„ ํ‘œํ˜„
  • self-descriptive
  • HATEOAS ๋“ฑ๋“ฑ.

 

HTTP์˜ ์ž์›์„ ์ œ๋Œ€๋กœ ํ™œ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด RESTํ•˜์ง€ ์•Š๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 23. ์ฟ ํ‚ค์™€ ์„ธ์…˜์ด ์™œ ํ•„์š”ํ•œ์ง€, ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

HTTP ํ”„๋กœํ† ์ฝœ์€ ๋น„์—ฐ๊ฒฐํ˜•, ๋ฌด์ƒํƒœ์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์—, server๋Š” client๊ฐ€ ๋ˆ„๊ตฌ์ธ์ง€ ๋งค๋ฒˆ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์„ฑ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฟ ํ‚ค์™€ ์„ธ์…˜์ด ํƒ„์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

 

1) ์ฟ ํ‚ค : ํด๋ผ์ด์–ธํŠธ ๋กœ์ปฌ(ํ•˜๋“œ๋””์Šคํฌ)์— ์ €์žฅ๋˜๋Š” ํ‚ค์™€ ๊ฐ’์ด ๋“ค์–ด์žˆ๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ

2) ์„ธ์…˜ : ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๊ฐ™์€ ๋ธŒ๋ผ์šฐ์ €๋กœ๋ถ€ํ„ฐ ๋“ค์–ด์˜ค๋Š” ์ผ๋ จ์˜ ์š”๊ตฌ๋ฅผ ํ•˜๋‚˜์˜ ์ƒํƒœ๋กœ ๋ณด๊ณ  ๊ทธ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ.

  ์ฟ ํ‚ค ์„ธ์…˜
์ €์žฅ์œ„์น˜ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„
๋ผ์ดํ”„์‚ฌ์ดํด ๋งŒ๋ฃŒ๊ธฐ๊ฐ„ ๋ถ€์—ฌ ๋ธŒ๋ผ์šฐ์ € ์ข…๋ฃŒ ์‹œ ์†Œ๋ฉธ
์†๋„ ์„œ๋ฒ„ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฐ€ ์—†์–ด ๋” ๋น ๋ฅด๋‹ค. ์„œ๋ฒ„ ํ†ต์‹ ์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋А๋ฆผ.
๋ณด์•ˆ ํด๋ผ์ด์–ธํŠธ ๋กœ์ปฌ์— ์žˆ์–ด ์ทจ์•ฝ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•ด ๋น„๊ต์  ์•ˆ์ „

 

์„ธ์…˜์€ ์„œ๋ฒ„์˜ ์ž์›์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋งŽ์„ ์ˆ˜๋ก ์†Œ๋ชจ๋˜๋Š” ์ž์›์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— ์ƒํ™ฉ์„ ์ž˜ ๊ณ ๋ คํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

 

 

๐Ÿ’ก 24. ๋งŒ์•ฝ session์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” key๋ฅผ "user"๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค, ์‚ฌ์šฉ์ž A๊ฐ€ ์ ‘์†ํ•ด๋„, B๊ฐ€ ์ ‘์†ํ•ด๋„ "user"๋ผ๋Š” key๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ์–ด๋–ป๊ฒŒ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์„ธ์…˜์˜ ๊ฒฝ์šฐ, ์ƒํƒœ ์ •๋ณด๋Š” ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด์žˆ์ง€๋งŒ ํ•ด๋‹น ์ƒํƒœ ์ •๋ณด๋ฅผ ์—ด๋žŒํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค๋ฅผ JSESSIONID๋ผ๋Š” ์ฟ ํ‚ค๋กœ ๋งŒ๋“ค์–ด ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. 

 

๋ธŒ๋ผ์šฐ์ €๋Š” ๋‹ค๋ฅธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•  ๋•Œ ๋งˆ๋‹ค ํ•ด๋‹น ์ฟ ํ‚ค๋ฅผ ์„œ๋ฒ„๋กœ ํ•จ๊ป˜ ์ „์†กํ•˜๊ณ , ์„œ๋ฒ„๋Š” ํ•ด๋‹น ํ‚ค ๊ฐ’์„ ํ™•์ธํ•ด Session์„ ๋งค์นญํ•ด ์–ด๋–ค ์‚ฌ์šฉ์ž์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ณด๋ฉด ๋‹ค๋ฅธ Session ๊ฐ์ฒด์— ์ ‘๊ทผํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 25. Session์€ ์„œ๋ฒ„์— ์ €์žฅ๋˜๊ณ , Cookie๋Š” ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๋Š”๋ฐ, ์ฟ ํ‚ค๊ฐ€ ์•ˆ๋˜๋Š” ์ƒํ™ฉ์—์„œ ์„ธ์…˜์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

๋”๋ณด๊ธฐ

์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ํ™˜๊ฒฝ์—์„œ๋Š” URL ๋’ค์ชฝ์— Parameter ๊ฐ’์œผ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 26. JWT Token์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

JWT๋Š” JSON ํฌ๋งท์„ ์ด์šฉํ•˜๋Š” Claim ๊ธฐ๋ฐ˜์˜ ์›น ํ† ํฐ์ด๋ฉฐ, ํ† ํฐ ์ž์ฒด๋ฅผ ์ •๋ณด๋กœ ์‚ฌ์šฉํ•˜๋Š” Self-Contained ๋ฐฉ์‹์œผ๋กœ ์ •๋ณด๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

JWT๋Š” ํ—ค๋”(Header).๋‚ด์šฉ(Payload).์„œ๋ช…(Signature)๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๊ฐ ํŒŒํŠธ๋ฅผ ์ (.)์œผ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

 

ํ—ค๋”(Header) : ํ† ํฐ์˜ ํƒ€์ž…๊ณผ ํ•ด์‹œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜(๋ฐฉ์‹์ง€์ •)์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

๋‚ด์šฉ(Payload) : ํ† ํฐ์— ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ด๊ณ ์ž ํ•˜๋Š” ์ •๋ณด๋ฅผ ๋‹ด๋Š”๋‹ค. ๋‚ด์šฉ์—๋Š” Claim์ด ๋‹ด๊ฒจ์žˆ๊ณ , JSON(Key/Value)ํ˜•ํƒœ์˜ ํ•œ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์„œ๋ช…(Signature) : ํ† ํฐ์„ ์ธ์ฝ”๋”ฉํ•˜๊ฑฐ๋‚˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ณ ์œ ํ•œ ์•”ํ˜ธํ™” ์ฝ”๋“œ์ด๋‹ค. ํ—ค๋”์™€ ๋‚ด์šฉ์˜ ๊ฐ’์„ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.

 

 

 

 

๐Ÿ’ก 27. URI์™€ URL์ด ๋ฌด์—‡์ด ๋‹ค๋ฅธ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

URI

URI๋Š” ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ†ตํ•ฉ ์ž์› ์‹๋ณ„์ž(Uniform Resource Identifier)๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์›น ๊ธฐ์ˆ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋…ผ๋ฆฌ์  ๋˜๋Š” ๋ฌผ๋ฆฌ์  ๋ฆฌ์†Œ์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๋ฌธ์ž์—ด ์‹œํ€€์Šค์ž…๋‹ˆ๋‹ค.

URL

URL์€ ํ”ํžˆ ์›น ์ฃผ์†Œ๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ ์ƒ์—์„œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ด๋”” ์žˆ๋Š”์ง€ ์•Œ๋ ค์ฃผ๊ธฐ ์œ„ํ•œ ๊ทœ์•ฝ์ž…๋‹ˆ๋‹ค. URI์˜ ์„œ๋ธŒ์…‹์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : https://www.charlezz.com/?p=44767

 

 

 

๐Ÿ’ก 28. GET๊ณผ POST๊ฐ€ ๋‹ค๋ฅธ ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

GET์€ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ค๋”์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜๋ฏ€๋กœ ๋ณด์•ˆ์ ์œผ๋กœ ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•ด์„œ๋Š” ์•ˆ๋ฉ๋‹ˆ๋‹ค.

 

POST๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ ๋˜๋Š” ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋””์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ „์†กํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

์™„์ „ํžˆ ์•ˆ์ „ํ•˜๋‹ค๋Š” ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ URL์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š์•„ GET ๋ณด๋‹ค๋Š” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

 

๋˜ํ•œ, GET์€ ์บ์‹ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ์ž…๋‹ˆ๋‹ค.

๋ฐ˜๋ฉด POST๋Š” ์บ์‹ฑ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฉฑ๋“ฑ์„ฑ ๋ฉ”์†Œ๋“œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 29. ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ๊ณผ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ๊ฐ๊ฐ ์–ด๋А ๊ฒฝ์šฐ์— ์ ํ•ฉํ•œ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์œผ๋ฉด ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋ฏ€๋กœ Statefulํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ ,

ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์€ ์ƒํƒœ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์— ์ €์žฅํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ Statelessํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹จ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

1. ์„œ๋ฒ„์— ์„ธ์…˜์„ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๋ฅผ ์ค„ ์ˆ˜ ์žˆ์–ด ํ™•์žฅ์„ฑ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. 

2. ํ•ด์ปค๊ฐ€ ํ›”์นœ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ์„œ๋ฒ„๋Š” ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋‚ธ ์š”์ฒญ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. (์„ธ์…˜ ํ•˜์ด์žฌํ‚น ๊ณต๊ฒฉ)

 

๋‹จ์ผ ๋„๋ฉ”์ธ์ด๋ผ๋ฉด ์„ธ์…˜ ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ ํ•ฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์„ธ์…˜์„ ๊ด€๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์ฟ ํ‚ค๋Š” ๋‹จ์ผ ๋„๋ฉ”์ธ ๋ฐ ์„œ๋ธŒ ๋„๋ฉ”์ธ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. (CORS ๋ฌธ์ œ : ๊ต์ฐจ ์ถœ์ฒ˜ ๋ฆฌ์†Œ์Šค ๊ณต์œ (Cross-Origin Resource Sharing, CORS)๋Š” ์ถ”๊ฐ€ HTTP ํ—ค๋”๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ ์ถœ์ฒ˜์—์„œ ์‹คํ–‰ ์ค‘์ธ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋‹ค๋ฅธ ์ถœ์ฒ˜์˜ ์„ ํƒํ•œ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๋„๋ก ๋ธŒ๋ผ์šฐ์ €์— ์•Œ๋ ค์ฃผ๋Š” ์ฒด์ œ์ž…๋‹ˆ๋‹ค.) 

 

 

 

๐Ÿ’ก 30. Connection Timeout๊ณผ Read Timeout์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋”๋ณด๊ธฐ

์„œ๋ฒ„ ์ž์ฒด์— ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์–ด๋–ค ์‚ฌ์œ ๋กœ ์ ‘๊ทผ์„ ์‹คํŒจํ–ˆ์„ ์‹œ ์ ์šฉ๋˜๋Š” ๊ฒƒ์ด Connection Timeout์ž…๋‹ˆ๋‹ค.

์ฆ‰, ์ ‘๊ทผ์„ ์‹œ๋„ํ•˜๋Š” ์‹œ๊ฐ„ ์ œํ•œ์ด Connection Timeout ๋˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†์„ ์„ฑ๊ณต ํ–ˆ์œผ๋‚˜ ์„œ๋ฒ„๊ฐ€ ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ๊ธธ์–ด ์ œ๋Œ€๋กœ ์‘๋‹ต์„ ๋ชป ์ค€ ์ƒํƒœ์—์„œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ์„ ํ•ด์ œํ•˜๋Š” ๊ฒƒ์ด Read Timeout์ž…๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ํ•ด๋‹น ์ƒํ™ฉ์„ ์˜ค๋ฅ˜๋กœ ์ธ์ง€ํ•˜๊ณ , ์„œ๋ฒ„๋Š” ๊ณ„์† ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์–ด ์„ฑ๊ณต์œผ๋กœ ์ธ์ง€ํ•ด 

์–‘ ์‚ฌ์ด๋“œ๊ฐ„ ์‹ฑํฌ๊ฐ€ ๋งž์ง€ ์•Š์•„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋†’์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 31. ๊ณต์ธ IP์™€ ์‚ฌ์„ค IP์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

๋”๋ณด๊ธฐ
  • ๊ณต์ธ IP๋Š” ISP(์ธํ„ฐ๋„ท ์„œ๋น„์Šค ๊ณต๊ธ‰์ž)๊ฐ€ ์ œ๊ณตํ•˜๋Š” IP ์ฃผ์†Œ์ด๋ฉฐ, ์™ธ๋ถ€์— ๊ณต๊ฐœ๋˜์–ด ์žˆ๋Š” IP์ฃผ์†Œ ์ž…๋‹ˆ๋‹ค.
  • ์‚ฌ์„ค IP๋Š” ์ผ๋ฐ˜ ๊ฐ€์ •์ด๋‚˜ ํšŒ์‚ฌ ๋‚ด ๋“ฑ์— ํ• ๋‹น๋œ ๋„คํŠธ์›Œํฌ IP ์ฃผ์†Œ์ด๋ฉฐ, IPv4์˜ ์ฃผ์†Œ๋ถ€์กฑ์œผ๋กœ ์ธํ•ด ์„œ๋ธŒ๋„ทํŒ…๋œ IP์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ผ์šฐํ„ฐ(๊ณต์œ ๊ธฐ)์— ์˜ํ•ด ๋กœ์ปฌ ๋„คํŠธ์›Œํฌ์ƒ์˜ PC๋‚˜ ์žฅ์น˜์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์„ค IP ์ฃผ์†Œ๋งŒ์œผ๋กœ๋Š” ์ธํ„ฐ๋„ท์— ์ง์ ‘ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์—†๊ณ , ๋ผ์šฐํ„ฐ๋ฅผ ํ†ตํ•ด 1๊ฐœ์˜ ๊ณต์ธ IP๋ฅผ ํ• ๋‹นํ•˜๊ณ , ๋ผ์šฐํ„ฐ์— ์—ฐ๊ฒฐ๋œ ๊ฐœ์ธ PC๋Š” ์‚ฌ์„ค IP๋ฅผ ๊ฐ๊ฐ ํ• ๋‹น ๋ฐ›์•„ ์ธํ„ฐ๋„ท์— ์ ‘์† ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 32. UDP๊ฐ€ TCP์— ๋น„ํ•ด ๊ฐ–๋Š” ์žฅ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด๋ณด์„ธ์š”.

๋”๋ณด๊ธฐ

- ์ตœ์†Œ์ „์†ก๋ฅ ๋งŒ ๋ณด์žฅ๋˜๋ฉด ๋˜๊ณ , ์ง€์—ฐ๋ฅ ์— ๋ฏผ๊ฐํ•œ ๊ฒฝ์šฐ์—” UDP๊ฐ€ TCP๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค.

- ์—ฐ๊ฒฐ ์„ค์ •์„ ์œ„ํ•œ ์ง€์—ฐ์ด ์—†์Šต๋‹ˆ๋‹ค. (3-way handshacking)

- ์—ฐ๊ฒฐ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (TCP๋Š” ์—ฐ๊ฒฐ์„ ์œ ์ง€ํ•˜๋ฏ€๋กœ ์†ก์ˆ˜์‹  ๋ฒ„ํผ, ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด์•ผ ํ•จ.)

- TCP๋Š” ์„ธ๊ทธ๋จผํŠธ๋งˆ๋‹ค 20๋ฐ”์ดํŠธ์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. UDP๋Š” 8๋ฐ”์ดํŠธ์˜ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

- ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋ฉด UDP๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ’ก 33. UDP์— Checksum ํ•„๋“œ๊ฐ€ ์žˆ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ผ๊นŒ์š”?

๋”๋ณด๊ธฐ

๋ชจ๋“  ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์ด ์˜ค๋ฅ˜๊ฒ€์‚ฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋–„๋ฌธ์ž…๋‹ˆ๋‹ค. ์ข…๋‹จ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก ์„œ๋น„์Šค๊ฐ€ ์˜ค๋ฅ˜๊ฒ€์‚ฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋งํฌ ๊ณ„์ธต์—์„œ ์˜ค๋ฅ˜๊ฒ€์‚ฌ๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ UDP๊ฐ€ ์ œ๊ณตํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Checksum ํ•„๋“œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜, UDP๋Š” ์‹ ๋ขฐ์„ฑ ์žˆ๋Š” ํ”„๋กœํ† ์ฝœ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ฒดํฌ์„ฌ์„ ํ†ตํ•ด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๋”๋ผ๋„ ์˜ค๋ฅ˜๋ฅผ ํšŒ๋ณตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ค ์ผ๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

 

 

 

 

๐Ÿƒ‍โ™‚๏ธ ๋‹ค๋ฅธ ์งˆ๋ฌธ ๋Œ€๋น„ ์ž๋ฃŒ

[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ฒดํฌ๋ฆฌ์ŠคํŠธ - โ“ช ์ฒดํฌ๋ฆฌ์ŠคํŠธ

[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘  ์ž๋ฃŒ๊ตฌ์กฐ
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ก ์•Œ๊ณ ๋ฆฌ์ฆ˜
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ข ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฃ ๋„คํŠธ์›Œํฌ
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ค ์šด์˜์ฒด์ œ
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฅ ์ž๋ฐ”(Java)
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฆ ๋ฐฑ์—”๋“œ(Java Spring ๊ธฐ๋ฐ˜)
[๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„] - [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ง ๊ฐœ๋ฐœ๊ณตํ†ต / ์ธ์„ฑ๋ฉด์ ‘
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋™์ผ์กฐ๊ฑด (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฆ ๋ฐฑ์—”๋“œ(Java Spring ๊ธฐ๋ฐ˜)  (3) 2022.10.31
[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฅ ์ž๋ฐ”(Java)  (1) 2022.10.31
[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ค ์šด์˜์ฒด์ œ  (1) 2022.10.31
[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ข ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค  (2) 2022.10.31
[๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ฒดํฌ๋ฆฌ์ŠคํŠธ - โ“ช ์ฒดํฌ๋ฆฌ์ŠคํŠธ  (1) 2022.10.31
    '๐Ÿ“ ์‹ ์ž… ์ธํ„ฐ๋ทฐ ์ค€๋น„' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ฅ ์ž๋ฐ”(Java)
    • [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ค ์šด์˜์ฒด์ œ
    • [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ด์ •๋ฆฌ ์ž๋ฃŒ - โ‘ข ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค
    • [๋ฉด์ ‘์ด์ •๋ฆฌ] ์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ ๋Œ€๋น„ ์ฒดํฌ๋ฆฌ์ŠคํŠธ - โ“ช ์ฒดํฌ๋ฆฌ์ŠคํŠธ
    ๊ฐœ๋ฐœ์ž HOON
    ๊ฐœ๋ฐœ์ž HOON
    ์ข‹์€ ๋ฐฑ์—”๋“œ ์—”์ง€๋‹ˆ์–ด๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ก์„ ๋ชจ์•˜์Šต๋‹ˆ๋‹ค. # ์ฃผ๋‹ˆ์–ด # ๋ฐฑ์—”๋“œ # ๊ฐœ๋ฐœ์ž

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”