
π‘ μ»΄ν¨ν°λ€μ μ΄λ»κ² μλ‘ ν΅μ ν κΉ?
μ΄κΈ°μλ 물리μ μΈ νν(usb)μλ€. ν΅μ ν μ»΄ν¨ν°κ° λ©λ¦¬μλ€λ©΄? μΈν°λ· μ¬μ©!
π‘ λ°μ΄ν° ν΅μ μ λν κ·μ½ - μ«μλ IP μμ²΄κ° μλ μ£Όμμ
(λ°μ΄ν°λ₯Ό μμ νκ² μ λ¬νκΈ°μν΄ μ΅μνμ μΈν°λ· νλ‘ν μ½μ΄ νμνλ€)
μΆλ°μ§ + λμIPλμ°©μ§λ₯Ό ν¬ν¨ β μ΄λ€ μ»΄ν¨ν°μ μ μ‘ν μ§ νλ³ κ°λ₯ βΆ μ ν리μΌμ΄μ κ΅¬λΆ (μ΄λ€ νλ‘κ·Έλ¨μ μ¬μ©νμ§? ꡬλΆμ΄ μ΄λ ΅λ€)
β· λΉμ°κ²°μ± (μμ λμμ μνμ μκ΄μμ΄ λ°μ΄ν°λ₯Ό μ μ‘ - μ»΄ν¨ν°κ° κΊΌμ Έ μμ΄λ)
βΈ λΉμ λ’°μ±
- ν¨ν·μ΄ μμ€λλ κ²½μ°, μμμ¬λΆλ₯Ό μμΈ‘ λͺ¨λ μ μ μλ€.
- λ°μ΄ν°κ° ν° κ²½μ°μλ μ¬λ¬κ°λ‘ λλ μ μ‘λκ³ , μμκ° μμ¬λ²λ¦Ό
β μ΄λ° κ²½μ°μλ λ°μ΄ν°λ₯Ό μ¬μ μ‘ νμ§ μλλ€
π‘ λ°μ΄ν°λ₯Ό μ λ’°μ±μκ² μ λ¬ (IPλ°©μμ λ¬Έμ μ 보μ)
π μ΅μνμ λ Όλ¦¬μ μ°κ²°λ‘ μ°κ²°λμλ€κ³ κ°μ νλκ² !
| SYN (Synchronize) | ACK (Acknowledge) |
|---|---|
| ν΄λΌμ΄μΈνΈ β μλ² | μλ² β ν΄λΌμ΄μΈνΈ |
| μ μ μμ² | μμ² μλ½ |
| SYN νλκ·Έ + μνμ€ λ²νΈ | SYN νλκ·Έ + ACK νλκ·Έ + (μνμ€ λ²νΈ+1) |
| λ°μ΄ν° μ μ‘ κ°λ₯ |
π‘ λΉμ°κ²°νμ΄κ³ μ λ’°μ±μ΄ μλ νλ‘ν μ½ β μ¦λ§λ‘ λΉ λ₯΄λΉ ( μ€μκ°μ± 보μ₯ )
( μΈν°λ· μ ν, μ€νΈλ¦¬λ°, μ¨λΌμΈ κ²μ λ± )
PORTκ° μ‘΄μ¬νλ€κ°μ IP λ΄μμ νλ‘μΈμ€ ꡬλΆμ ν¨
β IPμ λ¨μ (μ ν리μΌμ΄μ
ꡬλΆ)μ 보μ
Packetμ ν¬ν¨λμ΄ μλ€
βοΈ μμ£Ό μ¬μ©λλ PORT
- 0~65535 κΉμ§ ν λΉ κ°λ₯
- 0~1023 : μ΄λ―Έ μ¬μ©λκ³ μλ ν¬νΈ
μ μ§κ°νλ©΄ μ°μ§λ§μ
π‘HTTP80 (TCP) /HTTPS443 (TCP)
IPμ£Όμλ μ λμ μ΄κΈ°λ νκ³ , λ³κ²½λ μλ μκ³ , μΈμ°κΈ°κ° νλ€λ€
π‘ μ¬λμ΄ μ½μ μ μλ λλ©μΈ μ£Όμλ₯Ό μ»΄ν¨ν°κ° μ½μ μ μλ IP μ£Όμλ‘ λ³ννλ€
π‘ μΈν°λ· μμ(λ°μ΄ν°)μ λνλ΄λ κ³ μ μλ³μ
π‘ μμμ μμΉλ₯Ό λνλΈλ€
π‘ μμ
scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]
https://www.google.com:443/search?q=μ€νλ₯΄ν+μ½λ©ν΄λ½
| scheme | user[:password] | host[:port] | [/path] | [?query] | [#fragment] |
|---|---|---|---|---|---|
| νλ‘ν μ½ | μ¬μ©μ μ 보 | λλ©μΈ or IPμ£Όμ | 리μμ€μ κ²½λ‘ | key=value | html λ΄λΆ λΆλ§ν¬ |
| μ£Όλ‘ http, https, ftp μ¬μ© | URLμ μ¬μ© X | μΌλ°μ μΌλ‘ μλ΅ | κ³μΈ΅ ꡬ쑰 | ?λ‘ μμλκ³ &λ‘ κ΅¬λΆ | νΉμ μμΉλ‘ μ΄λ |
| URL(Locator) | URN(Name) |
|---|---|
| μμμ μμΉ | μμμ μ΄λ¦ |
| νλ‘ν μ½ O | νλ‘ν μ½ X |
| μμΉ λ³κ²½μ μ¬μ©λΆκ° | μμΉ λ³κ²½μμλ μ¬μ© κ°λ₯ |
| (μ΄λ¦μΌλ‘ κ²μνκΈ° λλ¬Έμ) | |
| λμ€ν O | λμ€ν X |
λ°μ΄ν° λ² μ΄μ€μμ μ£Όλ‘ μ¬μ©_ μ¬μ©- λ‘ μ°κ²°π‘ ν΄λΌμ΄μΈνΈ, μλ²κ° ν΅μ ν λ μ¬μ©νλ λ°μ΄ν° μμ

ν΄λΌμ΄μΈνΈ to μλ² μλ² to ν΄λΌμ΄μΈνΈ μλ² to μλ² λͺ¨λ μ¬μ©JSON ννλ‘ λ°μ΄ν° ν΅μ μ νκΈ° λλ¬Έμ μ ν리μΌμ΄μ
λ³ μΈμ΄κ° λ¬λΌλ μλ‘ ν΅μ κ°λ₯{
"user": [
{
"first_name": "wonuk",
"last_name": "Hwang",
"age": 100,
"phone_agree": false,
"hobby": ["Java", "Spring"]
},
{
"firstName": "sparta",
"lastName": "Team",
"age": 200,
"phone_agree": true,
"hobby": ["React", "Spring", "Node"]
},
]
}
snake_case, camelCase λͺ¨λ μ¬μ© κ°λ₯key - value ννπ‘ μλ²μ μ±λ₯ν₯μμ μν λκ°μ§ λ°©λ²
λ¨μΌ μλ²μ νλμ¨μ΄μ μ¬μ©μ λμΈλ€ β λΉμ© μ¦κ°
(cpuλ λ©λͺ¨λ¦¬μ μ€νμ μ¬λ¦°λ€)
μμ²μ λν μ²λ¦¬κ° λΉ¨λΌμ§λ€
π‘ ν΄λΌμ΄μΈνΈμ μλ²κ°μ ν΅μ μν μ μ§ μ¬λΆμ λ°λΌ λλλ νΉμ±
*μμ - μκ°μ (ν΄λΌμ΄μΈνΈ) / μλ΄μ (μλ²)
β κ°μ μλ²κ° μ μ§λμ΄μΌ νλ€ (κ°μ μλ΄μμκ² μμ²ν΄μΌ~)
β‘ μλ²λ λ€μν μ΄μ λ‘ λμνμ§ μμ μ μμ
β’ μμ² νΈλν½μ΄ λ§μμ§λ©΄ μνλ₯Ό μ μ§νλλ°μ 리μμ€κ° μλͺ¨λλ€
- μκ°μ 1λͺ
: μ¬λ¬λͺ
μ μλ΄μ β **μμ² κΈ°μ΅ λΆκ°!**
- **μκ°μμ΄ μ΄μ μμ²μ ν¨κ» μ λ¬νλ€ β‘οΈ μλ΄μμ΄ κΈ°μ΅ν νμκ° μμ**
Scale OutStatelessνκ² λ§λ€μ΄μΌ νλ€Statelessνκ² λ§λ€ μλ μλ€ (μνμ μ§κ° νμν λ‘κ·ΈμΈ)π‘ ν΄λΌμ΄μΈνΈ-μλ²κ° μ°κ²° μ μ§ μ¬λΆμ λ°λ₯Έ νΉμ±
ν΄λΌμ΄μΈνΈκ° μ§μμ μΌλ‘ μμ²μ 보λΈλ¨ 보μ₯μ΄ μλλ°λ ν΄μΌν¨,, μμ λλΉ!
TCP/IP μ°κ²° β μμ²-μλ΅ β μ°κ²° ν΄μ μΊμ, λΈλΌμ°μ μΊμ±μΌλ‘ ν΄κ²° (μ½κ²λ§ν΄ μμμ μ₯)
Connectionlessλ³΄λ€ μ κ³ , μλλ λ λΉ λ₯΄λ€!