๐Ÿ’ป CS

    [CS] ์›น์˜ ๋™์ž‘ ์›๋ฆฌ

    [CS] ์›น์˜ ๋™์ž‘ ์›๋ฆฌ

    ์›น ํŽ˜์ด์ง€ ์ ‘์† ๊ณผ์ • 1. ์‚ฌ์šฉ์ž๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— URL ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. 2. ๋ธŒ๋ผ์šฐ์ €๋Š” *DNS๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. *DNS(Domain Name System) : ๋งˆ์น˜ ์ „ํ™”๋ฒˆํ˜ธ๋ถ€์ฒ˜๋Ÿผ ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์›น ์ด๋ฆ„์„ IP ์ฃผ์†Œ๋กœ ๋งค์น˜์‹œ์ผœ์ฃผ๋Š” ์‹œ์Šคํ…œ 3. Client์—์„œ HTTP request ๋ฉ”์‹œ์ง€ → TCP/IP ํŒจํ‚ท ์ƒ์„ฑ → Server๋กœ ์ „์†ก 4. Server์—์„œ HTTP request์— ๋Œ€ํ•œ HTTP response ๋ฉ”์‹œ์ง€ → TCP/IP ํŒจํ‚ท ์ƒ์„ฑ → Client๋กœ ์ „์†ก 5. ๋„์ฐฉํ•œ HTTP response๋Š” ์›น ๋ธŒ๋ผ์šฐ์ €์— ์˜ํ•ด ์ถœ๋ ฅ(๋ Œ๋”๋ง)๋ฉ๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋” ์ž์„ธํžˆ 1-2. ์œ ์ €๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— URL์„ ์ž…๋ ฅํ•˜๋ฉด HTTP request message๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 3-4. IP์ฃผ์†Œ๋ฅผ ์•Œ..

    [CS] HTTP - status code(์ƒํƒœ ์ฝ”๋“œ)

    Status code(์ƒํƒœ ์ฝ”๋“œ) ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ณด๋‚ธ HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์‘๋‹ต ์ฝ”๋“œ๋กœ, ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์˜ ์„ฑ๊ณต/์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 100๋ฒˆ๋Œ€๋ถ€ํ„ฐ 500๋ฒˆ๋Œ€๊นŒ์ง€ ์ด 5๊ฐœ์˜ ํด๋ž˜์Šค๋กœ ๊ตฌ๋ถ„๋˜์–ด HTTP ์š”์ฒญ์— ๋Œ€ํ•œ ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(request)์— ๋Œ€ํ•œ ์„œ๋ฒ„์˜ ์‘๋‹ต(response)์˜ ๊ฐ„๋žตํ•œ ์„ค๋ช…์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์— ๋งž๋Š” ์ƒํƒœ ์ฝ”๋“œ๋ฅผ response์— ๋‹ด์•„์„œ ํด๋ผ์ด์–ธํŠธ์— ๋„˜๊ฒจ์ฃผ์–ด์•ผ ์•Œ๋งž์€ ๋Œ€์‘์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 100๋ฒˆ๋Œ€ → ์ •๋ณด : ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ์ž‘์—…์„ ๊ณ„์†ํ•˜๊ฒ ๋‹ค. 200๋ฒˆ๋Œ€ → ์„ฑ๊ณต : ์š”์ฒญํ•œ ๋™์ž‘์„ ์„ฑ๊ณต์ ์œผ๋กœ ์ˆ˜์‹ ํ•˜์—ฌ ์ดํ•ดํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜์˜€๋‹ค. 300๋ฒˆ๋Œ€ → ๋ฆฌ๋‹ค์ด๋ ‰์…˜ : ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค. 400๋ฒˆ๋Œ€ → ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜..

    [CS] HTTP request method : GET, POST / PUT, PATCH

    [CS] HTTP request method : GET, POST / PUT, PATCH

    GET ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์ •๋ณด๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ(๋ฆฌ์†Œ์Šค ์กฐํšŒ) ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํŠน์ •ํ•˜๊ธฐ ์œ„ํ•ด URL ๋’ค์— Query String์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ •๋ณด๋ฅผ ์กฐํšŒ ํ•œ ๋ฒˆ ์„œ๋ฒ„์— GET ์š”์ฒญ์„ ํ•œ ์ ์ด ์žˆ๋‹ค๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ด๋‘”๋‹ค.(์ดํ›„ ๋™์ผํ•œ ์š”์ฒญ์€ ์ €์žฅ๋œ ๊ฐ’์œผ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)URL ๋’ค์˜ Query String๊นŒ์ง€ ํฌํ•จํ•ด์„œ ๋ธŒ๋ผ์šฐ์ € ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹œ๊ฐ€ ๊ฐ€๋Šฅ POST ์„œ๋ฒ„์—๊ฒŒ ์ •๋ณด(๋ฐ์ดํ„ฐ) ์ฒ˜๋ฆฌ(์ฃผ๋กœ ์ƒ์„ฑ)๋ฅผ ์š”์ฒญํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์†Œ๋“œ ๊ผญ ์ƒ์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ณ€๊ฒฝ ๋˜๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ์ „๋‹ฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ Body ๋ถ€๋ถ„์— ํฌํ•จํ•˜์—ฌ ํ†ต์‹  ๋ธŒ๋ผ์šฐ์ € ํžˆ์Šคํ† ๋ฆฌ์— ๋‚จ์ง€ ์•Š๊ณ  ์บ์‹œ๋„ ๋ถˆ๊ฐ€๋Šฅ PUT ์„œ๋ฒ„์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋ฉ”์†Œ๋“œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋Œ€์ฒด, ํ•ด๋‹น ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†์œผ..

    [CS] HTTP๋ž€?

    [CS] HTTP๋ž€?

    HTTP(HyperText Transfer Protocol) ์›น ์ƒ์—์„œ ์ •๋ณด๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ํ†ต์‹ ํ”„๋กœํ† ์ฝœ๋กœ์„œ HTML๊ณผ ๊ฐ™์€ ๋ฌธ์„œ๋ฅผ ์ „์†ก ํด๋ผ์ด์–ธํŠธ → ์„œ๋ฒ„ : HTTP request๋ฅผ ๋ณด๋ƒ„ request message๋Š” start line(method, path, HTTP version), headers, body๋กœ ๊ตฌ์„ฑ ์„œ๋ฒ„ → ํด๋ผ์ด์–ธํŠธ : HTTP response๋ฅผ ๋ณด๋ƒ„ response message๋Š” status line(HTTP version, status code, status message), headers, body๋กœ ๊ตฌ์„ฑ TPC/IP ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™, ํฐ ํŠน์ง•์œผ๋กœ๋Š” Connectionless์™€ Stateless๊ฐ€ ์žˆ๋‹ค. Connectionless : ์„œ๋ฒ„์— ์—ฐ๊ฒฐ ํ›„ ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต์„ ๋ฐ›..

    [CS] TCP ํ†ต์‹  : 3-way handshake, 4-way handshake

    [CS] TCP ํ†ต์‹  : 3-way handshake, 4-way handshake

    TCP ํ†ต์‹  Connection setup (tcp ์—ฐ๊ฒฐ ์ดˆ๊ธฐํ™”) : 3-way handshaking Data transfer (๋ฐ์ดํ„ฐ ์ „์†ก) Connection termination (tcp ์—ฐ๊ฒฐ ์ข…๋ฃŒ) : 4-way handshaking 3-way handshake(์—ฐ๊ฒฐ ์‹œ์ž‘) TCP/IP ํ”„๋กœํ† ์ฝœ๋กœ ํ†ต์‹ ํ•˜๊ธฐ ์ „, ์ •ํ™•ํ•œ ์ •๋ณด ์ „์†ก์„ ์œ„ํ•ด ์ƒ๋Œ€๋ฐฉ ์ปดํ“จํ„ฐ์™€ ์„ธ์…˜์„ ์ˆ˜๋ฆฝํ•˜๋Š”(์—ฐ๊ฒฐํ•˜๋Š”) ๊ณผ์ •(TCP ์—ฐ๊ฒฐ ์ดˆ๊ธฐํ™”) ์ด๋ฆ„์กฐ์ฐจ ์•…์ˆ˜๋ผ๋Š” ๋œป, ์ฆ‰ ์„œ๋กœ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ์ ˆ์ฐจ(connection์„ ์œ„ํ•œ ์ ˆ์ฐจ)๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•˜๋‹ค. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ SYNํŒจํ‚ท(์—ฐ๊ฒฐ ์š”์ฒญ)์„ ๋ณด๋ƒ„ ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ACKํŒจํ‚ท(์—ฐ๊ฒฐ ์ธ์ง€) + SYNํŒจํ‚ท(์—ฐ๊ฒฐ ์š”์ฒญ)์„ ๋ณด๋ƒ„ → ์„œ๋ฒ„๋„ ํด๋ผ์ด์–ธํŠธํ•œํ…Œ ์—ฐ๊ฒฐ ์š”์ฒญ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ..