λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

πŸ’» DEV/Network15

[Network] TCP/IP ν”„λ‘œν† μ½œ μŠ€νƒ (근데 이제 OSI 7계측을 곁듀인) πŸ“Œ Introduction λ„€νŠΈμ›Œν¬, 즉 μΈν„°λ„·μœΌλ‘œ μ΄λ£¨μ–΄μ§€λŠ” λͺ¨λ“  톡신은 정보λ₯Ό 담은 'νŒ¨ν‚·'을 κ΅ν™˜μ„ 톡해 이루어진닀. 이 νŒ¨ν‚·μ€ λ…ΈνŠΈλΆμ΄λ‚˜ λΌμš°ν„°μ™€ 같은 물리적인 μž₯μΉ˜μ—μ„œ 또 λ‹€λ₯Έ μž₯치둜 μ΄λ™ν•˜λŠ”λ°, 곡기 쀑에 떠닀닐 수 μžˆλŠ” μ „κΈ° μ‹ ν˜Έλ‘œ λ³€ν™˜λ˜κΈ° λ•Œλ¬Έμ— κ°€λŠ₯ν•œ 일이닀. μž₯치끼리 톡신할 λ•Œ μ‚¬μš©ν•˜κΈ°λ‘œ ν•œ ν‘œμ€€ 'ν”„λ‘œν† μ½œ' (κ·œμ•½) μ΄λΌλŠ” 것이 μ‘΄μž¬ν•œλ‹€. 인터넷이 21μ„ΈκΈ°λ§ŒνΌ λ³΄νŽΈν™” λ˜μ–΄ μžˆμ§€ μ•Šλ˜ 1900λ…„λŒ€μ—λŠ” κ·œμ•½μ΄ λ”°λ‘œ μ—†μ—ˆλ˜ λ•Œλ„ μžˆμ—ˆμ§€λ§Œ, 갈수둝 μ „λ‹¬λ˜λŠ” payload (λ‚΄μš©) 이 컀짐으둜써 정보 ν†΅μ‹ μ˜ λ‹¨μœ„μ™€ 단계λ₯Ό μΉ˜λ°€ν•˜κ²Œ μ„€κ³„ν•˜μ—¬ νš¨μœ¨μ„± μ¦μ§„μ˜ ν•„μš”μ„±μ΄ μ»€μ‘Œλ‹€. 이에 따라 λ“±μž₯ν•œ 것이 λ„€νŠΈμ›Œν‚Ή 과정을 ν‘œμ€€ν™”ν•œ TCP/IP ν”„λ‘œν† μ½œ μŠ€νƒμ΄λ‹€. ✨ TCP 와 IP, 그리고 TCP/IP ν”„.. 2021. 9. 9.
[Network] ν”„λ‘μ‹œ(Proxy) λž€? ✨ Proxy μ„œλ²„λž€? ν΄λΌμ΄μ–ΈνŠΈμ˜ μš”μ²­μ„ λŒ€λ¦¬ν•΄μ„œ μ²˜λ¦¬ν•΄μ£ΌλŠ” μ„œλ²„λ‘œ, 보톡 λ³΄μ•ˆμƒμ˜ 문제둜 인해 직접 μ„œλ²„μ™€ ν†΅μ‹ ν•˜μ§€ λͺ»ν•  λ•Œ μ€‘κ³„ν•˜λŠ” 역할을 λ§‘λŠ”λ‹€. μ‹€μ œ μ ‘κ·Ό ν˜ΈμŠ€νŠΈκ°€ μ•„λ‹Œ λ‹€λ₯Έ ν˜ΈμŠ€νŠΈμ—μ„œ μ ‘μ†ν•œ κ²ƒμ²˜λŸΌ μœ„μž₯ν•  수 μžˆμ–΄, 읡λͺ…성을 보μž₯ν•œλ‹€. λ˜ν•œ, 캐싱 κΈ°λŠ₯이 μžˆμ–΄ 접속 속도λ₯Ό ν–₯μƒμ‹œν‚¬ 수 있으며, λΆˆν•„μš”ν•œ μ™ΈλΆ€μ™€μ˜ 연결을 쀄여 νŠΈλž˜ν”½μ„ κ°μ†Œν•  수 μžˆλ‹€. μ„œλ²„μ˜ μœ„μΉ˜μ— 따라 크게 Forward Proxy 와 Reverse Proxy 둜 λ‚˜λ‰˜μ§€λ§Œ, ν•˜λ‚˜μ˜ ν”„λ‘μ‹œμ—μ„œ 두 κΈ°λŠ₯을 λͺ¨λ‘ μˆ˜ν–‰ν•  수 μžˆλ‹€. Forward Proxy ν΄λΌμ΄μ–ΈνŠΈμ™€ 인터넷 사이에 μœ„μΉ˜ν•œλ‹€. ν΄λΌμ΄μ–ΈνŠΈ λŒ€μ‹  μ„œλ²„μ— μš”μ²­μ„ 보내쀀닀. Reverse Proxy 인터넷과 μ„œλ²„ 사이에 μœ„μΉ˜ν•œλ‹€. μ„œλ²„μ˜ 응닡을 ν΄λΌμ΄μ–ΈνŠΈμ— λŒ€μ‹  전달해쀀닀... 2021. 6. 5.
[Network] 포트(Port) λž€? * Portλ₯Ό λ…Όν•˜κΈ° 전에.. ✨ IPλž€? Internet Protocol 의 μ•½μžλ‘œ, 컴퓨터 κ°„μ˜ λ„€νŠΈμ›Œν‚Ήμ„ κ°€λŠ₯ν•˜κ²Œ ν•˜λŠ” 톡신 κ·œμ•½μ΄λ‹€. IP Address λŠ” 32λΉ„νŠΈμ˜ λ²”μœ„λ₯Ό 가지고 있으며, λ”°λΌμ„œ 0~255 μ‚¬μ΄μ˜ 숫자λ₯Ό μ‚¬μš©ν•  수 μžˆλ‹€. 8λΉ„νŠΈλ‘œ κ΅¬μ„±λœ κ·Έλ£Ή λ„€ κ°œκ°€ ν•˜λ‚˜μ˜ IP μ£Όμ†Œλ₯Ό κ΅¬μ„±ν•˜κ²Œ λ˜λŠ”λ°, 각 그룹은 . 으둜 κ΅¬λΆ„λœλ‹€. IP μ£Όμ†Œμ˜ λ²”μœ„: 000.000.000.000 ~ 255.255.255.255 Reserved (μ˜ˆμ•½λœ) IP μ£Όμ†Œ: 127.0.0.1 (localhost) ✨ Port λž€? Port λ²ˆν˜ΈλŠ” ν•˜λ‚˜μ˜ IP μ£Όμ†Œ μ•ˆμ—μ„œ νŠΉμ • μž‘μ—…μ΄ μ΄λ£¨μ–΄μ§€λŠ” μœ„μΉ˜μ΄λ‹€. 예λ₯Ό λ“€μ–΄ : - FTP (File Transfer Protocol) μ—κ²Œ μ§€μ •λœ Port λ²ˆν˜ΈλŠ” 20이닀. - .. 2021. 6. 5.
[Network] CORS λž€? ✨ CORS (μ •μ±…) μ΄λž€? 2009년에 λ“±μž₯ν•œ λ³΄μ•ˆ μ •μ±…μœΌλ‘œ, Cross-Origin Resource Sharing 의 μ•½μžμ΄λ‹€. μ›Ή μƒνƒœκ³„μ—μ„œ λ‹€λ₯Έ 좜처둜의 λ¦¬μ†Œμ„œ μš”μ²­μ„ μ œν•œν•˜λŠ” 것과 κ΄€λ ¨λœ μ •μ±… 쀑 ν•˜λ‚˜μ΄λ‹€ (λ‹€λ₯Έ ν•˜λ‚˜λŠ” SOP(Same-Origin Policy)이닀.) 점차 μ›Ήμ—μ„œ λ‹€λ₯Έ μΆœμ²˜μ— μžˆλŠ” λ¦¬μ†ŒμŠ€λ₯Ό κ°€μ Έμ™€μ„œ μ‚¬μš©ν•˜λŠ” 일이 ν”ν•΄μ§€μž, "λͺ‡ 가지 μ˜ˆμ™Έ 쑰항에 ν•΄λ‹Ήν•˜λŠ” (===CORS 정책을 지킨) λ¦¬μ†ŒμŠ€ μš”μ²­"에 ν•œν•΄μ„œλŠ” ν—ˆμš©ν•΄μ£ΌμžλŠ” 정책이 λ°”λ‘œ CORS 정책이닀. 즉, 정해진 헀더λ₯Ό 지킨 μš”μ²­μ— ν•œν•΄μ„œλŠ” 같은 μΆœμ²˜κ°€ μ•„λ‹Œ url 끼리도 톡신이 κ°€λŠ₯ν•˜κ²Œ ν•˜κ² λ‹€λŠ” μ˜λ―Έμ΄λ‹€. SOPλž€? μΌμ’…μ˜ λ³΄μ•ˆ μ •μ±…μœΌλ‘œ, "같은 μΆœμ²˜μ—μ„œλ§Œ λ¦¬μ†ŒμŠ€λ₯Ό κ³΅μœ ν•  수 μžˆλ‹€"λŠ” κ·œμΉ™μ„ 가진 정책이닀. Does it .. 2021. 6. 5.
[Network] μΏ ν‚€ (Cookie) 와 μ„Έμ…˜ (Session) ✨ HTTP μΏ ν‚€λž€? μ„œλ²„κ°€ μ‚¬μš©μžμ˜ μ›Ή λΈŒλΌμš°μ €(λ₯Ό μ΄μš©ν•˜κ³  μžˆλŠ” 컴퓨터)에 μ €μž₯ν•˜λŠ” μž„μ‹œ 파일 (데이터) 이닀. HTTPμ—λŠ” "λΉ„μ—°κ²°μ„±"(Connectionless) 와 "λΉ„μƒνƒœμ„±"(Stateless)λΌλŠ” νŠΉμ§•μ΄ μžˆλ‹€. 이둜 인해 맀 μš”μ²­λ§ˆλ‹€ μ„œλ²„μ™€μ˜ 연결이 ν•΄μ œμ˜ 과정을 거치고, ν•΄μ œ ν›„μ—λŠ” μƒνƒœ 정보가 μ €μž₯λ˜μ§€ μ•ŠλŠ”λ‹€. κ·ΈλŸ¬λ‚˜ μΏ ν‚€λ₯Ό μ‚¬μš©ν•˜λ©΄ μ—°κ²° ν•΄μ œ 이후에도 λΈŒλΌμš°μ €μ˜ μƒνƒœμ™€ κ΄€λ ¨λœ 정보λ₯Ό μž¬μ „μ†‘ν•  ν•„μš” 없이 λ°”λ‘œ 접속할 수 있게 λœλ‹€. ✨ μΏ ν‚€μ˜ νŠΉμ§• - 각 μΏ ν‚€λ§ˆλ‹€ 고유 아이디가 λΆ€μ—¬λœλ‹€. - λΈŒλΌμš°μ €λ§ˆλ‹€ μ €μž₯λ˜λŠ” μΏ ν‚€λŠ” λ‹€λ₯΄λ©°, μ„œλ²„μ—μ„œλŠ” λΈŒλΌμš°μ €κ°€ λ‹€λ₯΄λ©΄ λ‹€λ₯Έ μ‚¬μš©μžλ‘œ μΈμ‹ν•œλ‹€. - μ„Έμ…˜ 관리, κ°œμΈν™”, νŠΈλž˜ν‚Ή λ“±μ˜ λͺ©μ μ„ μœ„ν•΄ μ‚¬μš©λœλ‹€. - μ‚¬μš© μ˜ˆμ‹œ: 둜그인 μƒνƒœ μœ μ§€, 졜근 κ²€μƒ‰ν•œ.. 2021. 5. 27.
[Network] 캐싱 (Caching), μΊμ‹œ (Cache) ✨ μΊμ‹œ(Cache)λž€? μ»΄ν“¨ν„°μ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” λ©”λͺ¨λ¦¬μ΄λ‹€. ✨ Caching(캐싱)μ΄λž€? 캐싱: μ–΄λ–€ 것을 λ‚˜μ€‘μ— μœ μš©ν•˜κ²Œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄ μ €μž₯ν•˜λŠ” 것이닀. λΈŒλΌμš°μ €λ‚˜ μ›Ήμ—μ„œλŠ” ν”„λ‘œκ·Έλž¨κ³Ό μ›Ήμ‚¬μ΄νŠΈμ˜ 정적인 μžμ‚°μ„ μ €μž₯ν•˜λŠ” 것이닀. (정적 μžμ‚°: 이미지, HTML, CSS, JAVASCRIPT) 즉, 이전에 이미 κ°€μ Έμ™”λ˜ λ¦¬μ†ŒμŠ€λ“€μ„ λ³΅μ‚¬ν•˜μ—¬ μ €μž₯해놓고 μš”μ²­ μ‹œμ— μž¬μ‚¬μš©ν•˜λŠ” 것이닀. μ›Ήκ³Ό μ•±μ˜ μ„±λŠ₯을 ν–₯μƒν•˜λ©°, (μΊμ‹œλŠ” 원본 λ¦¬μ†ŒμŠ€λ³΄λ‹€ ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œμ— κ°€κΉŒμ΄ μžˆμœΌλ―€λ‘œ) μ›Ήμ˜ λ°˜μ‘ 속도λ₯Ό 높인닀. ✨ Cache 의 μ’…λ₯˜ 사섀 (Private) ν•œ λͺ…μ˜ μ‚¬μš©μžλ§Œ μ‚¬μš©ν•˜λŠ” μΊμ‹œμ΄λ‹€. 사섀 λΈŒλΌμš°μ € μΊμ‹œλŠ” μ‚¬μš©μžμ— μ˜ν•΄ HTTPλ‘œλΆ€ν„° λ‹€μš΄λ‘œλ“œν•œ λͺ¨λ“  λ¬Έμ„œλ“€μ„ 가지고 μžˆλ‹€. μ΄λŠ” μ˜€ν”„λΌμΈ 브라우.. 2021. 5. 13.