μΉ μλ² (Web Server)
κ°μ
μΉ μλ²λ ν΄λΌμ΄μΈνΈ(λΈλΌμ°μ )μ HTTP μμ²μ λ°μ μΉ νμ΄μ§, μ΄λ―Έμ§, API μλ΅ λ±μ λλ €μ£Όλ μννΈμ¨μ΄(λλ νλμ¨μ΄)μ΄λ€.
μ°λ¦¬κ° λΈλΌμ°μ μ£Όμμ°½μ www.google.comμ μ
λ ₯νλ©΄, κ·Έ μμ²μ μ΄λκ°μ μλ μ»΄ν¨ν°λ‘ λ μκ°κ³ , κ·Έ μ»΄ν¨ν°κ° μ°λ¦¬μκ² νλ©΄μ 보μ¬μ€ HTML νμΌμ 보λ΄μ€μ. λ°λ‘ κ·Έ "μ΄λκ°μ μλ μ»΄ν¨ν°μμ λμκ°λ νλ‘κ·Έλ¨"μ΄ μΉ μλ²μ
λλ€.
μ½κ² λ§ν΄, μΉ μλ²λ "μ£Όλ¬Έμ λ°κ³ μμμ λ΄μ΄μ£Όλ μλΉ μ§μ" κ°μ μν μ΄μμ. μλ(λΈλΌμ°μ )μ΄ "μ΄ νμ΄μ§ μ£ΌμΈμ!" νλ©΄, μΉ μλ²κ° "λ€, μ¬κΈ° μμ΅λλ€!" νκ³ λ΄μ©μ μ λ¬ν΄μ£Όλ κ±°μ£ .
μΉ μλ²μ λμ νλ¦
sequenceDiagram
participant μ¬μ©μ as π€ μ¬μ©μ (λΈλΌμ°μ )
participant DNS as π DNS μλ²
participant μΉμλ² as π₯οΈ μΉ μλ²
participant νμΌ as π νμΌ μμ€ν
μ¬μ©μ->>DNS: www.example.com μ IPκ° λμΌ?
DNS-->>μ¬μ©μ: 93.184.216.34 μΌ!
μ¬μ©μ->>μΉμλ²: GET /index.html μμ² (HTTP)
μΉμλ²->>νμΌ: index.html νμΌ μ°ΎκΈ°
νμΌ-->>μΉμλ²: νμΌ λ΄μ© μ λ¬
μΉμλ²-->>μ¬μ©μ: HTTP 200 OK + HTML λ΄μ©Mermaid
볡μ¬
μ΄ νλ¦μ μ’ λ μμΈν μ€λͺ
νλ©΄ μ΄λμ:
1.
μ¬μ©μκ° URLμ μ
λ ₯ν΄μ β λΈλΌμ°μ μ£Όμμ°½μ www.example.comμ μΉλ μκ°μ΄μμ.
2.
DNSκ° IP μ£Όμλ₯Ό μλ €μ€μ β λλ©μΈ μ΄λ¦μ μ€μ μλ² μ£Όμ(IP)λ‘ λ³νν΄μ£Όλ κ³Όμ μ΄μμ. λ§μΉ μ νλ²νΈλΆμμ μ΄λ¦μΌλ‘ λ²νΈλ₯Ό μ°Ύλ κ²κ³Ό κ°μμ.
3.
λΈλΌμ°μ κ° HTTP μμ²μ 보λ΄μ β "μ΄ νμ΄μ§ μ’ μ£ΌμΈμ!" νκ³ μμ² λ©μμ§λ₯Ό μλ²μ 보λ΄λ κ±°μμ.
4.
μΉ μλ²κ° νμΌμ μ°Ύμμ β μλ² μ»΄ν¨ν°μ νμΌ μμ€ν
μμ ν΄λΉ νμΌμ μ°Ύμμ.
5.
μλ΅μ λλ €μ€μ β μ°Ύμ νμΌμ HTTP μλ΅μ λ΄μ λΈλΌμ°μ μκ² λ³΄λ΄μ€μ. λΈλΌμ°μ κ° μ΄κ±Έ λ°μμ νλ©΄μ κ·Έλ €μ£Όλ κ±°μμ!
μΉ μλ²μ λ κ°μ§ μλ―Έ
μΉ μλ²λΌλ λ§μ μ¬μ€ λ κ°μ§ μλ―Έλ‘ μ°μ¬μ. ν·κ°λ¦¬κΈ° μ¬μ°λ νλ‘ μ 리ν΄λ³Όκ²μ!
κ΅¬λΆ | νλμ¨μ΄ κ΄μ | μννΈμ¨μ΄ κ΄μ |
μ μ | μΉ μλ² μννΈμ¨μ΄κ° μ€μΉλ 물리μ μ»΄ν¨ν° | HTTP μμ²μ μ²λ¦¬νλ νλ‘κ·Έλ¨ |
μμ | λ°μ΄ν°μΌν°μ μλ² μ₯λΉ, AWS EC2 μΈμ€ν΄μ€ | Nginx, Apache, IIS |
μν | μ κΈ°, λ€νΈμν¬, μ μ₯κ³΅κ° μ 곡 | μμ² μμ β μ²λ¦¬ β μλ΅ λ°ν |
λΉμ | μλΉ κ±΄λ¬Ό μ체 | μλΉμμ μΌνλ μ§μ |
λ³΄ν΅ κ°λ°μλ€μ΄ "μΉ μλ²"λΌκ³ λ§ν λλ μννΈμ¨μ΄ μͺ½μ κ°λ¦¬ν€λ κ²½μ°κ° λ§μμ. "Nginx μΉ μλ²λ₯Ό μ€μΉνλ€"κ³ νλ©΄, νλ‘κ·Έλ¨μ μ€μΉνλ€λ λ»μ΄μ§ μ»΄ν¨ν°λ₯Ό μλ‘ μ° κ±΄ μλκ±°λ μ! 
λνμ μΈ μΉ μλ² μννΈμ¨μ΄ λΉκ΅
νλͺ© | Nginx | Apache | IIS |
κ°λ°μ¬ | Igor Sysoev (μ€νμμ€) | Apache Foundation | Microsoft |
μν€ν
μ² | μ΄λ²€νΈ κΈ°λ° (λΉλκΈ°) | νλ‘μΈμ€/μ€λ λ κΈ°λ° | μ€λ λ κΈ°λ° |
μ±λ₯ | λ³΄ν΅ | λ³΄ν΅ | |
λ©λͺ¨λ¦¬ μ¬μ© | μ μ | λ§μ | λ³΄ν΅ |
OS μ§μ | Linux, macOS, Windows | Linux, macOS, Windows | Windows μ μ© |
μ€μ λ°©μ | μ€μ νμΌ (nginx.conf) | .htaccess + μ€μ νμΌ | GUI + μ€μ νμΌ |
μ£Ό μ©λ | 리λ²μ€ νλ‘μ, μ μ νμΌ μλΉ | λ²μ© μΉ μλ² | Windows κΈ°λ° μλΉμ€ |
μμ₯ μ μ μ¨ | 3μ μ΄ν |
Nginxκ° μμ¦ κ°μ₯ μΈκΈ° μλ μ΄μ λ μ μ λ©λͺ¨λ¦¬λ‘ μμ²λ λμ μ μμ μ²λ¦¬ν μ μκΈ° λλ¬Έμ΄μμ. Apacheκ° μλ ν λͺ
λΉ μ§μ ν λͺ
μ λΆμ¬μ£Όλ λ°©μμ΄λΌλ©΄, Nginxλ ν λͺ
μ μνΌ μ§μμ΄ μ¬λ¬ μλμ λμμ μλνλ λ°©μμ΄μμ. κ·Έλμ νΈλν½μ΄ λ§μ λκ·λͺ¨ μλΉμ€μμ Nginxλ₯Ό μ νΈνλ κ±°μμ.
μΉ μλ²μ μ£Όμ κΈ°λ₯
mindmap
root((μΉ μλ²<br/>μ£Όμ κΈ°λ₯))
μ μ νμΌ μ 곡
HTML
CSS
JavaScript
μ΄λ―Έμ§
HTTP μ²λ¦¬
μμ² νμ±
μλ΅ μμ±
μν μ½λ
보μ
HTTPS/SSL
μ κ·Ό μ μ΄
λ°©νλ²½ μ°λ
리λ²μ€ νλ‘μ
λ‘λ λ°Έλ°μ±
λ°±μλ μλ² μ°κ²°
μΊμ±
λ‘κΉ
μ κ·Ό λ‘κ·Έ
μλ¬ λ‘κ·Έ
λͺ¨λν°λ§Mermaid
볡μ¬
κΈ°λ₯ | μ€λͺ
| μμ |
μ μ νμΌ μ 곡 | HTML, CSS, JS, μ΄λ―Έμ§ λ±μ κ·Έλλ‘ μ λ¬ | index.html νμΌ μ μ‘ |
리λ²μ€ νλ‘μ | ν΄λΌμ΄μΈνΈ λμ λ°±μλ μλ²μ μμ² μ λ¬ | Nginx β Spring Boot |
λ‘λ λ°Έλ°μ± | μ¬λ¬ μλ²μ μμ²μ λΆμ° | μλ² 3λμ νΈλν½ λλκΈ° |
HTTPS μ²λ¦¬ | SSL/TLS μνΈν ν΅μ μ§μ | Let's Encrypt μΈμ¦μ μ μ© |
μΊμ± | μμ£Ό μμ²λλ μ½ν
μΈ λ₯Ό μ μ₯ν΄λκ³ λΉ λ₯΄κ² μλ΅ | μ΄λ―Έμ§ μΊμ± |
λ‘κΉ
| μ κ·Ό κΈ°λ‘, μλ¬ κΈ°λ‘ μ μ₯ | access.log, error.log |
HTTP μν μ½λ μ 리
μΉ μλ²κ° μλ΅ν λ νμ μν μ½λλ₯Ό ν¨κ» 보λ΄μ. μ΄κ² "κ²°κ³Όκ° μ΄λ λμ§"λ₯Ό μ«μλ‘ μλ €μ£Όλ κ±°μμ.
μ½λ λ²μ | μλ―Έ | λν μ½λ | μ€λͺ
|
1xx | μ 보 | 100 Continue | κ³μ μ§νν΄λ λΌμ |
2xx | μ±κ³΅ | 200 OK | μμ² μ±κ³΅! |
201 Created | μλ‘ μμ±λμ΄μ | ||
3xx | 리λ€μ΄λ μ
| 301 Moved Permanently | μꡬ μ΄λ |
304 Not Modified | λ³κ²½ μμ (μΊμ μ¬μ©) | ||
4xx | ν΄λΌμ΄μΈνΈ μλ¬ | 400 Bad Request | μλͺ»λ μμ² |
403 Forbidden | μ κ·Ό κΈμ§ | ||
404 Not Found | νμ΄μ§ μμ | ||
5xx | μλ² μλ¬ | 500 Internal Server Error | μλ² λ΄λΆ μ€λ₯ |
502 Bad Gateway | κ²μ΄νΈμ¨μ΄ μ€λ₯ | ||
503 Service Unavailable | μλΉμ€ μ΄μ© λΆκ° |
ν΅μ¬ μ 리
μΉ μλ² = ν΄λΌμ΄μΈνΈμ HTTP μμ²μ μ²λ¦¬νκ³ μλ΅μ λ°ννλ μννΈμ¨μ΄
λν μννΈμ¨μ΄
β’
Nginx(μ΄λ²€νΈ κΈ°λ°, κ³ μ±λ₯)
β’
Apache(νλ‘μΈμ€ κΈ°λ°, λ²μ©)
β’
IIS(Windows μ μ©)
ν΅μ¬ κΈ°λ₯
β’
μ μ νμΌ μ 곡
β’
리λ²μ€ νλ‘μ
β’
λ‘λ λ°Έλ°μ±
β’
HTTPS, μΊμ±
β’
λ‘κΉ




