β¨ ν¬μΈνΈ
- μ μ 리μμ€ μ 곡 : νλ‘ νΈμλ λΉλ κ²°κ³Όλ¬Όμ μλΉνλ κΈ°λ³Έ μν
- MIME νμ κ΄λ¦¬ : μλ²κ° μ¬λ°λ₯Έ
Content-Typeμ μΈν ν΄μΌ λΈλΌμ°μ κ° μ λλ‘ ν΄μ κ°λ₯- μΊμ± μ μ΄ :
Cache-Control,ETagλ₯Ό ν΅ν΄ μ μ νμΌ μ λ°μ΄νΈ κ΄λ¦¬- μμΆ : μλ²κ° 리μμ€λ₯Ό μμΆν΄ μ λ¬νλ©΄ νμ΄μ§ λ‘λ© μλ νμ
- CORS μ²λ¦¬ : νλ‘ νΈμ λ°±μλ λΆλ¦¬λ ꡬ쑰μμλ CORS μ€μ νμ κ³ λ €
- 리λ²μ€ νλ‘μ μ¬μ© :
Nginxλ± νλ‘μ μλ²λ₯Ό ν΅ν΄ API μλ²μ νλ‘ νΈμλ μ±μ μ°κ²°- 보μ : λͺ¨λ ν΅μ μ κΈ°λ³Έμ μΌλ‘ HTTPS μ μ©μ΄ νμ
- μλ² μ€λ₯ νΈλ€λ§ :
404,500μλ¬ μ²λ¦¬ νμ΄μ§ 컀μ€ν°λ§μ΄μ§ νμ
λΉλλ
React/Vueμ±μ μ μ νμΌλ‘ μλ²κ° μλΉνμ§λ§, API μμ²μ λμ μΌλ‘ μ²λ¦¬λλ€.
| κ΅¬λΆ | μΉ μλ² (Web Server) | WAS (Web Application Server) |
|---|---|---|
| μ£Όμ μν | μ μ μΈ μ½ν μΈ μ 곡 (HTML, CSS, JS, μ΄λ―Έμ§ λ±) | λμ μΈ λ‘μ§ μ²λ¦¬ (λΉμ¦λμ€ λ‘μ§, DB μ°λ λ±) |
| μμ | Nginx, Apache HTTP Server | Tomcat, JBoss, WebLogic, Jetty |
| μ²λ¦¬ λμ | λΈλΌμ°μ μμ² β μ μ νμΌ μλ΅ | λΈλΌμ°μ μμ² β λ΄λΆ λ‘μ§ μ€ν β μλ΅ μμ± |
| μ€ν λ°©μ | μμ²λ νμΌμ κ·Έλλ‘ μ λ¬ | μλ° μλΈλ¦Ώ, JSP, μ€νλ§ κ°μ λ‘μ§μ μ€ν |
| μμ² νλ¦ | λΈλΌμ°μ β μΉ μλ² β μ μ μλ΅ | λΈλΌμ°μ β μΉ μλ² β WAS β λμ μλ΅ |
| μΈμ΄ μμ‘΄μ± | μΈμ΄ λΉμμ‘΄μ (νμΌλ§ μλΉ) | μ£Όλ‘ Java κΈ°λ° (Spring, JSP λ±) |
| 보ν΅μ κ΅¬μ± | μΉ μλ² + WAS μ‘°ν©μΌλ‘ μ¬μ© (μ±λ₯, 보μ, λΆλ¦¬ λͺ©μ ) |
- μ¬μ©μκ°
/index.htmlμμ²
- μΉ μλ²κ° μ μ νμΌμ λ°λ‘ μ λ¬
- μ¬μ©μκ°
/user?id=1μμ²
- μΉ μλ²κ° λμ μμ²μμ μΈμ
- WAS(Spring λ±)μκ² μμ²μ μ λ¬
- WASκ° DBμμ μ μ μ 보λ₯Ό μ‘°ν
- WASκ° HTMLμ μμ±ν΄ μΉ μλ²μ μ λ¬
- μΉ μλ²κ° μ΅μ’ μλ΅μ ν΄λΌμ΄μΈνΈμ μ λ¬
Content-Type ν€λ | μμ | MIME νμ |
|---|---|
| HTML | text/html |
| CSS | text/css |
| JavaScript | application/javascript |
| PNG | image/png |
Cache-Control , ETag ν€λ μ€μ gzip , Brotli μμΆμ ν΅ν΄ νμΌ ν¬κΈ° μ€μ΄κΈ°HTTPS μ μ©, HSTS μ€μ HTTP κΈ°λ³Έ μΈμ¦, ν ν° κΈ°λ° μΈμ¦ μ°λ
Cache-Control: no-cache,Cache-Control: max-age=~κ°μ μ€μ μΌλ‘ μ μ νμΌ κ°±μ μ£ΌκΈ° μ‘°μ
νλ‘ νΈ μλ²λ₯Ό
/μ, API μλ²λ₯Ό/apiλ‘ μ°κ²°νλ μ€μ μ΄ κΈ°λ³Έ ν¨ν΄μ΄λ€.
Nginx , Apache κ° λ§μ΄ μ¬μ©λλ€.μ€ν μ΄μ§ μλ²μ μ΄μ μλ²λ₯Ό κ°μ μλ²μμ μ΄μν λ μ μ©
4xx, 5xx μλ¬λ₯Ό μλ²κ° κ°μ§νκ³ μ μ ν μλ¬ νμ΄μ§λ₯Ό μλ΅νλ€.λΈλΌμ°μ μμ 컀μ€ν 404 νμ΄μ§λ₯Ό λμ°κ±°λ SPA μ±μμλ
history fallbackμ²λ¦¬κ° νμ
SPAμμλ μ£Όμμ°½μ μ΄λ€ κ²½λ‘λ₯Ό μ λ ₯ν΄λ μλ²κ° νμ
index.htmlμ μλ΅νμ¬, ν΄λΌμ΄μΈνΈ λΌμ°ν°κ° νλ©΄μ μμμ μ ννλλ‘ λ§λλ μ€μ
index.html λ‘ λͺ¨λ νμ΄μ§λ₯Ό μ²λ¦¬νλ€./about ,/profile κ°μ κ²½λ‘μ λ³λ νμΌμ΄ μλ€.index.html μ λ°ννλλ‘ μ€μ νλ€.3xx λ‘ λμνλ€.| λνμ μΈ μμ | ν |
|---|---|
| HTTP | HTTPS μλ μ ν |
| example.com | www.example.com |
| /old-path | /new-paath |
νλ‘ νΈμμ κ°λ "ν λ² λ‘κ·ΈμΈνλλ°, λ€λ₯Έ μλ²μμλ λ‘κ·Έμμ μν" μ κ°μ λ¬Έμ κ° μκΈΈ μ μλ€. μ΄λ, μΈμ μ€ν λ¦¬μ§ λ°©λ²μ΄ μ€μνλ€.