β Back to list
π§ TIL
[λ°±μλ κΈ°λ³Έ κ°λ μ 리] WASμ λ°±μλ νλ μμν¬
μμ±μΌ:
TILTerms
WAS (Web Application Server)
WASλ μΉμμ μμ²μ λ°μμ λμ μ½ν
μΈ (Dynamic Content)λ₯Ό μμ±νκ³ μλ΅νλ νλ‘κ·Έλ¨μ΄λ€. μ¦, ν΄λΌμ΄μΈνΈμ μμ²μ λ°λΌ μ½λλ₯Ό μ€ννκ³ κ·Έ κ²°κ³Όλ₯Ό HTMLμ΄λ JSONμΌλ‘ λ§λ€μ΄ λλ €μ£Όλ μν μ νλ€. μ΄ κ³Όμ μμ νλ‘κ·Έλλ° μΈμ΄κ° μ€νλλ€λ μ μ΄ μΉμλ²μμ κ°μ₯ ν° μ°¨μ΄μ΄λ€.
νΉμ§ μμ½
- μ²λ¦¬ λμ: λμ μ½ν μΈ (μ½λ μ€ν κ²°κ³Ό)
- μ€ν λ°©μ: μΈμ΄ λ°νμ μμμ μ½λ μ€ν
- μλ: μΉμλ² λ³΄λ€ λ리μ§λ§ μ μ°ν¨
- μμ: Tomcat, Jetty, Gunicorn, Uvicorn
WASμ μν
- HTTP μμ²μ λ°μμ μ ν리μΌμ΄μ μ½λ μ€ν
- μ€λ λ/νλ‘μΈμ€ κ΄λ¦¬
- μΈμ κ΄λ¦¬, νΈλμμ κ΄λ¦¬
- λ°μ΄ν°λ² μ΄μ€ μ°κ²° λ° λ¦¬μμ€ ν κ΄λ¦¬
λ°±μλ νλ μμν¬ (Backend Framework)
νν Spring μλ²λ₯Ό κ°λ°νλ€κ±°λ FastAPI μλ²λ₯Ό κ°λ°νλ€λ λ§μ ν΄λΉ νλ μμν¬λ₯Ό μ¬μ©ν΄μ μ΄ν리μΌμ΄μ
μ½λλ₯Ό μμ±νλ€λ κ²μ΄μ§ νλ μμν¬ μμ²΄κ° μλ²κ° λλ κ²μ μλλ€. κ·Έλ λ€λ©΄ λ°±μλ νλ μμν¬λ₯Ό μ¬μ©ν΄μ κ°λ°μ νλ€λ κ²μ WASλ₯Ό λ§λλ κ²μΈκ°? λΌκ³ μ§λ¬Ένλ€λ©΄ κ·Έκ² λν μλλ€.
WASλ μμ²μ λν μ²λ¦¬λ₯Ό λ΄λΉνλ μ΄ν리μΌμ΄μ
μ μ€ν νκ²½μΌλ‘, WAS λΌλ νλ‘μΈμ€ μμμ κ°λ°μκ° μμ±ν λΉμ¦λμ€ λ‘μ§μ΄ λμνλ κ²μ΄λΌκ³ 보면 λλ€. λ°±μλ νλ μμν¬λ λ§κ·Έλλ‘ μΉ μλΉμ€μ λΉμ¦λμ€ λ‘μ§μ μ½λλ‘ κ΅¬ννκΈ° μν λΌλμΌ λΏμ΄λ€.
λͺ¨λ λ°±μλ νλ μμν¬κ° λμΌν κΈ°λ₯μ κ°μ§λ κ²μ μλμ§λ§ μΌλ°μ μΌλ‘ νλ μμν¬λ₯Ό μ¬μ©νμ¬ λ€μκ³Ό κ°μ κΈ°λ₯λ€μ μ΄ν리μΌμ΄μ
μ ꡬνν μ μλ€.
- λΌμ°ν (URL β ν¨μ λ§€ν)
- μμ²(Request)/μλ΅(Response) μ²λ¦¬
- λ°μ΄ν°λ² μ΄μ€ ORM
- μΈμ¦, μΈκ°, μΈμ , JWT
- λ―Έλ€μ¨μ΄ λ° μμ‘΄μ± μ£Όμ
μΈμ΄λ³ μ£Όμ νλ μμν¬
- Python: Django, FastAPI, Flask
- Java: Spring
- JavaScript: Express.js, Nest.js
- Go: Gin, Echo
μΉμλ², WAS, μ΄ν리μΌμ΄μ μ κ΄κ³
[μ¬μ©μ λΈλΌμ°μ ] β [μΉμλ² (Nginx)] β [WAS (Gunicorn / Uvicorn)] β [μ΄ν리μΌμ΄μ (FastAPI / Django)] β [λ°μ΄ν°λ² μ΄μ€, μΈλΆ API]
- μΉμλ²: μμ²μ λ°κ³ μ μ νμΌ μ²λ¦¬ λλ WASλ‘ μ λ¬
- WAS: μμ²μ μ²λ¦¬ν μ΄ν리μΌμ΄μ μ μ€ν νκ²½ μ 곡
- μ΄ν리μΌμ΄μ : μ λ¬λ°μ μμ²μ λ°λΌ λΉμ¦λμ€ λ‘μ§ μν