CS/Network

GET ๋ฆฌ์†Œ์Šค ์กฐํšŒ ์„œ๋ฒ„์— ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋Š” queryParam์„ ํ†ตํ•ด ์ „๋‹ฌ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Œ ๋ธŒ๋ผ์šฐ์ €์˜ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋‚จ๊ธฐ๊ฒŒ ๋˜๊ณ , ์บ์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ํ•œ ๋ฒˆ GET ์š”์ฒญ์„ ํ•œ ๊ฒฝ์šฐ์—๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅ ๋™์ผํ•œ ์š”์ฒญ์€ ๋ธŒ๋ผ์šฐ์ €์˜ ์ €์žฅ๋œ ๊ฐ’์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Œ POST ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ธŒ๋ผ์šฐ์ €์˜ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ์บ์‹œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ์„œ๋ฒ„๋Š” ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ ๋ฉ”์‹œ์ง€ ๋ฐ”๋””๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ ์ฃผ๋กœ ์ „๋‹ฌ๋œ ๋ฐ์ดํ„ฐ๋กœ ์‹ ๊ทœ ๋ฆฌ์†Œ์Šค ๋“ฑ๋ก, ํ”„๋กœ์„ธ์Šค ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ ์š”์ฒญ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์˜ˆ์‹œ HTML ํผ ํ•„๋“œ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ์„ธ์Šค ์ œ๊ณต ๊ฒŒ์‹œํŒ, ๋‰ด์Šค ๊ทธ๋ฃน, ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ, ๋ธ”๋กœ๊ทธ ๋˜๋Š” ์œ ์‚ฌํ•œ ๊ทธ..
HTTP(HyperText Transfer Protocol) ์›น ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ HTML ๊ณผ ๊ฐ™์€ ๋ฌธ์„œ๋ฅผ ์ „์†กํ•  ๋•Œ ์‚ฌ์šฉ ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์„ ๋”ฐ๋ฅด๋ฉฐ, request/response ๊ตฌ์กฐ๋กœ ์›น ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ Connectionless / Stateless ๋‹จ์ˆœํ•จ, ํ™•์žฅ ๊ฐ€๋Šฅ ๋ฌด์ƒํƒœ (Stateless) ํด๋ผ์ด์–ธํŠธ์˜ ์ด์ „ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•˜์ง€ ์•Š์Œ ์ƒ๋Œ€๋Š” ๋ฌธ๋งฅ์„ ํŒŒ์•…ํ•˜์ง€ ๋ชปํ•œ ์ฑ„ ๋Œ€ํ™” ์ด์ „์˜ ์ƒํ™ฉ๋“ค์„ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•จ ๋‹จ ์ƒํƒœ๋ฅผ ๋ณด๊ด€ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋ฏ€๋กœ, ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ์–ด๋Š ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•ด๋„ ์ƒ๊ด€ ์—†์Œ ๋น„์—ฐ๊ฒฐ์„ฑ(Connectionless) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ์š”์ฒญ์„ ํ•˜๊ณ  ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด TCP/IP ์—ฐ๊ฒฐ์„ ๋Š์–ด ์œ ์ง€ ํ•˜์ง€ ์•Š์Œ ์„œ๋ฒ„์˜ ์ž์›์„ ํšจ์œจ์  ๊ด€๋ฆฌ ๋ฐ ์ˆ˜ ..
3-way handshake TCP/IP ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์ „, ์ •ํ™•ํ•œ ์ •๋ณด ์ „์†ก์„ ์œ„ํ•ด ์ƒ๋Œ€๋ฐฉ ์ปดํ“จํ„ฐ์™€ ์„ธ์…˜์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ณผ์ • TCP ์—ฐ๊ฒฐ ์ดˆ๊ธฐํ™” ์„œ๋กœ ํ†ต์‹ ์„ ์œ„ํ•ด ๊ด€๋ฌธ(port)๋ฅผ ํ™•์ธํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 3๋ฒˆ์˜ ์š”์ฒญ(SYN), ์‘๋‹ต(ACK) ๋˜๋Š” ๊ฒƒ ์ด ๊ณผ์ •์—์„œ ์‹œ๊ฐ„์ด ๋งŽ์ด ์†Œ์š”๋จ TCP ๊ณผ์ • ์ค‘(connection setup - data transfer - connection termination) connection setup์— ํ•ด๋‹น ์—ฐ๊ฒฐ ๊ณผ์ • ํŒจํ‚ท = ์„ธ๊ทธ๋จผํŠธ (TCP ์—์„œ) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ์š”์ฒญ์„ ์œ„ํ•ด SYN ํŒจํ‚ท ์ „์†ก ์„œ๋ฒ„์—์„œ ํ•ด๋‹น ํฌํŠธ๋Š” LISTEN ์ƒํƒœ๋กœ SYN ํŒจํ‚ท์„ ๋ฐ›๊ณ  SYN_RCV ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ ์„œ๋ฒ„๋Š” ์ •์ƒ์ ์œผ๋กœ ๋ฐ›์•˜๋‹ค๋Š” ACK ํŒจํ‚ท + ์ƒ๋Œ€๋ฐฉ์˜ ํฌํŠธ๋ฅผ ์—ด์–ด๋‹ฌ๋ผ๋Š” SYN ํŒจ..
์ „์†ก ๊ณ„์ธต ํ”„๋กœํ† ์ฝœ TCP UDP TCP (Transmission Control Protocol) ์ „์†ก์„ ์ œ์–ดํ•˜๋Š” ๊ทœ์•ฝ ์—ฐ๊ฒฐํ˜• ์‹œ๋น„์Šค๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋กœํ† ์ฝœ IP๋Š” ํŒจํ‚ท์„ ๋น ๋ฅด๊ฒŒ ์ „์†ก๋œ ํŒจํ‚ท์„ TCP๋Š”์ถ”์ ํ•˜๊ณ  ๊ด€๋ฆฌ TCP ์—์„œ ์ „์†กํ•˜๋Š” ํŒจํ‚ท = Segment ํŠน์ง• ์—ฐ๊ฒฐ ์ง€ํ–ฅ ๋ฐฉ์‹์œผ๋กœ ํŒจํ‚ท ๊ตํ™˜ ๋ฐฉ์‹ ์‚ฌ์šฉ (๊ฐ€์ƒ ํšŒ์„  X) ๋…ผ๋ฆฌ์  ๊ฒฝ๋กœ๋ฅผ ๋ฐฐ์ • 3-way handshaking์œผ๋กœ ์—ฐ๊ฒฐ์„ ์„ค์ • & 4-way handshaking์œผ๋กœ ํ•ด์ œ ํ๋ฆ„ ๋ฐ ํ˜ผ์žก ์ œ์–ด ๋†’์€ ์‹ ๋ขฐ์„ฑ ์ „์ด์ค‘(Full-Duplex), ์ ๋Œ€์ (Point-to-Point ๋ฐฉ์‹) ๋ฐ์ดํ„ฐ ์ „์†ก ์ˆœ์„œ ๋ณด์žฅ TCP header์—์„œ๋Š” checksum, ํ™•์ธ ์‘๋‹ต, ํƒ€์ž„-์•„์›ƒ ๋“ฑ์„ ํ†ตํ•ด ์ˆ˜ํ–‰ ๋‹จ์  ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ์—ฐ๊ฒฐ์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ†ต์‹  ๊ฐ€๋Šฅ 1..
OSI & TCP/IP์˜ ๊ฐ ๊ณ„์ธต์€ ํ•˜์œ„ ๊ณ„์ธต์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ณ , ์ƒ์œ„ ๊ณ„์ธต์—๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณต ex ) HTTP(์‘์šฉ)๋Š” TCP(์ „์†ก)์™€ IP(๋„คํŠธ์›Œํฌ/์ธํ„ฐ๋„ท)๋ฅผ ์ด์šฉํ•˜์—ฌ ์ž‘๋™ ์ƒ์œ„๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ์†Œํ”„ํŠธ์›จ์–ด๋กœ, ํ•˜์œ„ ๊ณ„์ธต์˜ ํ”„๋กœํ† ์ฝœ์€ ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„ OSI 7๊ณ„์ธต ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ํ‘œ์ค€ํ™”ํ•œ ๋ชจ๋ธ, ํ†ต์‹  ์‹œ์Šคํ…œ์„ 7๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ„์–ด ์„ค๋ช… ์‘์šฉ ๊ณ„์ธต์—์„œ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ์š”์ฒญํ•˜๊ณ  ํ•˜์œ„๊ณ„์ธต์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ „๋‹ฌ๋˜์–ด ๋งจ ์•„๋ž˜ ์žˆ๋Š” ๋ฌผ๋ฆฌ ๊ณ„์ธต์„ ํ†ตํ•ด ์ƒ๋Œ€ ํ˜ธ์ŠคํŠธ์— ์ „์†ก ๊ณ„์ธต์„ ์ง€๋‚  ๋•Œ๋งˆ๋‹ค ๊ฐ ๊ณ„์ธต์—์„œ Header๊ฐ€ ๋ถ™๊ณ , ์ˆ˜์‹ ์ธก์—์„œ๋Š” ์—ญ์ˆœ์œผ๋กœ Header๋ฅผ ๋ถ„์„ [1๊ณ„์ธต] ๋ฌผ๋ฆฌ ํ˜ธ์ŠคํŠธ๋ฅผ ์ „์†ก๋งค์ฒด์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค ๊ทœ์น™๊ณผ ์ „์†ก ๋งค์ฒด์˜ ํŠน์„ฑ ๋ฐ์ดํ„ฐ ์ „๊ธฐ์  ์‹ ํ˜ธ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ฃผ๊ณ  ๋ฐ›๊ธฐ๋งŒ ํ•  ๋ฟ ํฌ๊ฒŒ ์œ ์„ ๋งค์ฒด์™€ ๋ฌด์„  ๋งค์ฒด๋กœ..
๐ŸŒธ ๋„คํŠธ์›Œํฌ ํ•˜๋“œ์›จ์–ด์ ์ธ ์ „์†ก ๋งค์ฒด๋ฅผ ๋งค๊ฐœ๋กœ ์„œ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ์‹œ์Šคํ…œ ์ „์†ก ๋งค์ฒด๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์ด ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ, ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๋‹จ์œ„ ๋„คํŠธ์›Œํฌ = ์‹œ์Šคํ…œ + ์ „์†ก๋งค์ฒด ๐ŸŒธ ์‹œ์Šคํ…œ ๋‚ด๋ถ€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ž์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” ๋Œ€์ƒ ์˜ˆ์‹œ ๋ฌผ๋ฆฌ์  ๋Œ€์ƒ : ์ž๋™์ฐจ, ํ•˜๋“œ๋””์Šคํฌ, ์ปดํ“จํ„ฐ ๋“ฑ ์†Œํ”„ํŠธ์›จ์–ด ๋Œ€์ƒ: ์šด์—ฌ ์‹œ์Šคํ…œ, ์šด์˜ ์ฒด์ œ, ํ”„๋กœ์„ธ์Šค ๋“ฑ ๋…ธ๋“œ ์ปดํ“จํ„ฐ ์ด๋ก  ๋ถ„์•ผ์—์„œ ํŠน์ • ์‹œ์Šคํ…œ์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์šฉ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ์‹œ์Šคํ…œ ๋…ธ๋“œ = ๋ผ์šฐํ„ฐ + ํ˜ธ์ŠคํŠธ ๋ผ์šฐํ„ฐ ์ธํ„ฐ๋„ท ๋‚ด๋ถ€๋ฅผ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ธฐ๋Šฅ, ๋ฐ์ดํ„ฐ ์ค‘๊ฐœ ๊ธฐ๋Šฅ ํ˜ธ์ŠคํŠธ๋“ค ์‚ฌ์ด์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์ด ์ธํ„ฐ๋„ท ๋‚ด๋ถ€์—์„œ ์ตœ์ ์˜ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์ด๋™ํ•˜๋„๋ก ๊ตฌ์„ฑ ํ˜ธ์ŠคํŠธ ์ธํ„ฐ๋„ท ๋ฐ”๊นฅ์ชฝ์„ ๊ตฌ์„ฑ ๋„คํŠธ์›Œํฌ ์ ‘์† ์ฐฝ๊ตฌ ํ˜ธ..
chaerlo127
'CS/Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก