Network

Network

[๋„คํŠธ์›Œํฌ] TCP์˜ ์‹ ๋ขฐ์„ฑ ๋ณด์žฅ

TCP๋ž€? ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ๋ขฐ์„ฑ ์žˆ๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ ํ”„๋กœํ† ์ฝœ โž• UDP๋Š” ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ํ”„๋กœํ† ์ฝœ๋กœ ๋งŽ์ด ์•Œ๊ณ  ์žˆ๋Š”๋ฐ UDP ์ž์ฒด์—์„œ๋Š” ๋ณด์žฅํ•˜์ง€ ์•Š์ง€๋งŒ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋„๋ก ํ•˜๋ฉด ์‹ ๋ขฐ์„ฑ์ด ๋ณด์žฅ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ex) HTTP/3์—์„œ๋Š” UDP๊ธฐ๋ฐ˜์˜ QUIC์ด๋ผ๋Š” ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด์„œ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋„๋ก ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. (TCP์˜ Fast Retransmit, Selective Acknowledgement์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•จ) TCP์—์„œ ์‹ ๋ขฐ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐฉ๋ฒ• 1. ์ˆœ์„œ ๋ณด์žฅ ๋ฐ์ดํ„ฐ ํŒจํ‚ท์— ์ˆœ์„œ ๋ฒˆํ˜ธ๋ฅผ ๋ถ€์—ฌํ•ด์„œ ์ˆ˜์‹ ์ž๊ฐ€ ํŒจํ‚ท์„ ์˜ฌ๋ฐ”๋ฅธ ์ˆœ์„œ๋Œ€๋กœ ์žฌ์กฐ๋ฆฝํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค. ๋งŒ์•ฝ์— ์ˆœ์„œ๋Œ€๋กœ ๋„์ฐฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ˆ„๋ฝ๋œ ํŒจํ‚ท์ด ๋„์ฐฉํ•  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๊ณ  ๊ทธ ํ›„์— ํŒจํ‚ท์„ ์žฌ์กฐ๋ฆฝํ•˜์—ฌ..

Network

[Network] 401 Error vs 403 Error

๐Ÿ—‚๏ธ HTTPS ์ƒํƒœ์ฝ”๋“œ 5์ข…๋ฅ˜ 1xx (์ •๋ณด, Information) : ์š”์ฒญ์„ ๋ฐ›๊ณ , ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•œ๋‹ค. 2xx (์„ฑ๊ณต, Successful) : ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ›๊ณ , ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. 3xx (๋ฆฌ๋‹ค์ด๋ ‰์…˜, Redirection) : ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 4xx (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜, Client Error) : ์š”์ฒญ์˜ ์ž˜๋ชป๋œ ๋ฌธ๋ฒ• ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. 5xx (์„œ๋ฒ„ ์˜ค๋ฅ˜, Server Error) : ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. 401 Error VS 403 Error 401 ์—๋Ÿฌ์™€ 403์—๋Ÿฌ๋Š” ๋ชจ๋‘ ์ธ์ฆ์ด ์•ˆ๋์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ ๐Ÿ”ธ 401 Unauthorized Error ์‚ฌ์šฉ์ž๊ฐ€ ์ธ์ฆ๋˜์ง€ ์•Š์•˜์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ ์ฆ‰, ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ, ์š”์ฒญ..

Network

[HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ] 1 ์›น์˜ ๊ธฐ์ดˆ : 01 HTTP ๊ฐœ๊ด€

HTTP๋ฅผ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉด์„œ ๊ฐ„๋‹จํžˆ ํ›‘์–ด๋ณด์•˜๊ณ  ์ฑ…์œผ๋กœ ์ •ํ™•ํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์–ด์„œ HTTP ์™„๋ฒฝ ๊ฐ€์ด๋“œ ๋…์„œ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค! ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ๋ธ”๋กœ๊ทธ์— ์˜ฌ๋ฆฌ๋ฉด์„œ ๋‹ค์‹œํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ ค๊ณ  ํ•œ๋‹ค! HTTP๋ž€? HTTP๋Š” (Hypertext transfer Protocol)์˜ ์•ฝ์ž์ด๋‹ค. ์ „ ์„ธ๊ณ„์˜ ์›น๋ธŒ๋ผ์šฐ์ €, ์„œ๋ฒ„, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ชจ๋‘ HTTP๋ฅผ ํ†ตํ•ด ์„œ๋กœ ๋Œ€ํ™”ํ•œ๋‹ค. [ ์›น ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ] ์›น ์„œ๋ฒ„๋Š” HTTP ํ”„๋กœํ† ์ฝœ๋กœ ์˜์‚ฌ์†Œํ†ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณดํ†ต HTTP ์„œ๋ฒ„๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„์—์„œ HTTP์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๋Š” ์š”์ฒญ๋œ ๋ฐ์ดํ„ฐ๋ฅผ HTTP ์‘๋‹ต์œผ๋กœ ๋Œ๋ ค์ค€๋‹ค. "http://www.oreilly.com/index.html"์„ ์—ด์–ด๋ณด๊ณ  ์‹ถ์„ ๋•Œ, ์›น๋ธŒ๋ผ์šฐ์ €๋Š” www.oreilly.com์„ ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ณ  ..

Network

HTTP ํ—ค๋” [ํ˜‘์ƒ/์ „์†ก/์ฟ ํ‚ค]

๐Ÿ‘‰ HTTP ํ—ค๋”์˜ ์šฉ๋„ HTTP ์ „์†ก์— ํ•„์š”ํ•œ ๋ชจ๋“  ๋ถ€๊ฐ€์ •๋ณด ํ•„์š”์‹œ ์ž„์˜์˜ ํ—ค๋”๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. Ex) ๋ฉ”์‹œ์ง€ ๋ฐ”๋””์˜ ๋‚ด์šฉ, ๋ฉ”์‹œ์ง€ ๋ฐ”๋Œ€์˜ ํฌ๊ธฐ, ์••์ถ•, ์ธ์ฆ, ์„œ๋ฒ„ ์ •๋ณด ๋“ฑ๋“ฑ์ด ํฌํ•จ๋˜์–ด์žˆ๋‹ค. ๐Ÿ‘‰ HTTP์˜ ํ‘œํ˜„ ํ˜•์‹ field-name":" OWS field-value OWS (OWS๋Š” ๋„์–ด์“ฐ๊ธฐ ํ—ˆ์šฉ์ด๋ผ๋Š” ๋œป) ๐Ÿ‘‰ ๊ณผ๊ฑฐ์˜ HTTP ํ—ค๋” (RFC2616) General ํ—ค๋” : ๋ฉ”์‹œ์ง€ ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ์ •๋ณด ( ex) Connectiond : close ) Request ํ—ค๋” : ์š”์ฒญ ์ •๋ณด ( ex) User-Agent: Mozilla/5.0 (Macintosh;... ) Response ํ—ค๋” : ์‘๋‹ต ์ •๋ณด ( ex) Server: Apache ) Entity ํ—ค๋” : ์—”ํ‹ฐํ‹ฐ ๋ฐ”๋”” ์ •๋ณด ( ex) C..

Network

HTTP ์ƒํƒœ์ฝ”๋“œ ์ •๋ฆฌ

HTTP์˜ ์‘๋‹ต ์ฝ”๋“œ๋Š” 5๊ฐœ์˜ ํด๋ž˜์Šค(๋ถ„๋ฅ˜)๋กœ ๊ตฌ๋ถ„๋œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž๋กœ ์‘๋‹ต ํด๋ž˜์Šค๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. 1xx (์ •๋ณด, Information) : ์š”์ฒญ์„ ๋ฐ›๊ณ , ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ณ„์†ํ•œ๋‹ค. 2xx (์„ฑ๊ณต, Successful) : ์š”์ฒญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋ฐ›๊ณ , ์ •์ƒ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ–ˆ๋‹ค. 3xx (๋ฆฌ๋‹ค์ด๋ ‰์…˜, Redirection) : ์š”์ฒญ์„ ์™„๋ฃŒํ•˜๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ž‘์—… ์กฐ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. 4xx (ํด๋ผ์ด์–ธํŠธ ์˜ค๋ฅ˜, Client Error) : ์š”์ฒญ์˜ ์ž˜๋ชป๋œ ๋ฌธ๋ฒ• ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. 5xx (์„œ๋ฒ„ ์˜ค๋ฅ˜, Server Error) : ์„œ๋ฒ„๊ฐ€ ์ •์ƒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. [ 1xx (์กฐ๊ฑด๋ถ€ ์‘๋‹ต) ] ์š”์ฒญ์„ ๋ฐ›์•˜์œผ๋ฉฐ ์ž‘์—…์„ ๊ณ„์†ํ•œ๋‹ค. ์‹ค๋ฌด์—์„œ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. [ 2xx (์„ฑ๊ณต) ] ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•œ ๋™์ž‘์„ ์ˆ˜์‹ ํ•˜์—ฌ ์ดํ•ดํ–ˆ๊ณ ..

Network

HTTP ๊ธฐ์ดˆ [URL/Stateless/๋น„์—ฐ๊ฒฐ์„ฑ]

HTTP๋ฅผ ๋ณด๊ธฐ ์ „์— ๋จผ์ € ๊ฐ„๋‹จํžˆ URL์„ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. โœURL์˜ ๋ฌธ๋ฒ• scheme://[userinfo@]host[:port][/path][?query/[#fragment] ex ) https://www.google.com:433/search?q=hello&hl=ko ํ”„๋กœํ† ์ฝœ, ํ˜ธ์ŠคํŠธ๋ช…, ํฌํŠธ๋ฒˆํ˜ธ, ํŒจ์Šค, ์ฟผ๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ [ scheme ] ์ฃผ๋กœ ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ (http, https ...) http๋Š” 80ํฌํŠธ, https๋Š” 433 ํฌํŠธ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, http์™€ https๋Š” ๋Œ€์ค‘์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๋žต๊ฐ€๋Šฅํ•˜๋‹ค. โž• https๋Š” http์— ๋ณด์•ˆ์ด ์ถ”๊ฐ€๋œ ๊ฒƒ์ด๋‹ค. โž• ํ”„๋กœํ† ์ฝœ์ด๋ž€? ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ž์›์— ์ ‘๊ทผํ•  ๊ฒƒ์ธ๊ฐ€ ํ•˜๋Š” ์•ฝ์† ๊ทœ์น™์ด๋‹ค. [ userinfo ] URL์— ์‚ฌ์šฉ์ž์ •๋ณด๋ฅผ ํฌํ•จํ•ด์„œ ์ธ..

Network

HTTP ๊ธฐ์ดˆ [์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ/IP/TCP/ UDP]

[ ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ ] IP (Internet Protocol) TCP, UDP PORT DNS ์ธํ„ฐ๋„ท์€ ๋ณต์žกํ•œ ์ธํ„ฐ๋„ท ๋ง์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ธํ„ฐ๋„ท ๋ง์„ ๊ฑฐ์ณ์„œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ณ , ๋ฐ›์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์„œ๋ฒ„๋งˆ๋‹ค IP์ฃผ์†Œ๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ์ด IP์ฃผ์†Œ๋กœ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ด IP( Internet Protocol)์ด๋‹ค. [ IP (Internet Protocol) ] โœ IP์˜ ์—ญํ•  ์ง€์ •ํ•œ IP ์ฃผ์†Œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ ํŒจํ‚ท(Packet)์ด๋ผ๋Š” ํ†ต์‹  ๋‹จ์œ„๋กœ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๐Ÿ“ ํŒจํ‚ท ์ •๋ณด #์ถœ๋ฐœ์ง€ IP = ํด๋ผ์ด์–ธํŠธ IP ๐Ÿ“ซ ์ „๋‹ฌ ๊ณผ์ • IP์ฃผ์†Œ๊ฐ€ ๋‹ด๊ธด ํŒจํ‚ท์„ ์ธํ„ฐ๋„ท๋ง์˜ ์—ฌ๋Ÿฌ ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„๋กœ ์ „๋‹ฌํ•˜๋ฉด, ์„œ๋ฒ„์—์„œ๋Š” ํ™•์ธํ–ˆ๋‹ค๋Š” ์‹ ํ˜ธ๋ฅผ ๋‹ค์‹œ ํด๋ผ์ด์–ธํŠธ์— ๋„˜๊ธด๋‹ค. ํ•˜์ง€๋งŒ ์ธํ„ฐ..

DAHLIA CHOI
'Network' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก