Content-Type ν€λ
리νμ€νΈμ 리μ€ν°μ€λ ν€λμ λ°λλ‘ λμ΄μλ€.
ν€λμλ μ¬λ¬κ°μ§ μλλ° κ·Έ μ€ Content-Type μ λκΉ?
Content-Type ν€λ
νμ¬ λ¦¬νμ€νΈ λλ 리μ€ν°μ€μ λ°λμ λ€μ΄ μλ λ°μ΄ν°κ° μ΄λ€ νμ μΈμ§λ₯Ό λνλΈλ€.
리νμ€νΈ λλ 리μ€ν°μ€μ λ°λμλ HTML, JavaScript κ·Έλ¦¬κ³ JSON λ°μ΄ν° μΈμλ μ΄λ―Έμ§ μμκΉμ§ λ§μ κ²λ€μ΄ μλ€.
λ°λ‘ μ΄λ¬ν λ°μ΄ν°λ€μ νμ μ λ³΄κ° 'Content - Type' ν€λμ λ΄κ²¨ μλ€. μ΄ 'Content - Type ν€λλ 'μ£Ό νμ (main type) / μλΈ νμ (sub type) ' νμμΌλ‘ λμ΄μλ°.
μ£Ό νμ μ μ’ λ₯
1. μ£Ό νμ μ΄ textμΈ κ²½μ°(ν μ€νΈ)
- μΌλ° ν μ€νΈ : text/plain
- CSS μ½λ: text/css
- HTML μ½λ: text/html
- JavaScript μ½λ: text/javascript
2. μ£Ό νμ μ΄ imageμΈ κ²½μ°(μ΄λ―Έμ§)
- bmpμ΄λ―Έμ§: image/bmp
- gifμ΄λ―Έμ§: image/gif
- pngμ΄λ―Έμ§: image/png
3. μ£Ό νμ μ΄ audioμΈ κ²½μ°(μ€λμ€)
- mp4 μ€λμ€: audio/mp4
- ogg μ€λμ€: audo/ogg
4. μ£Ό νμ μ΄ videoμΈ κ²½μ°(λΉλμ€)
- mp4 λΉλμ€: video/mp4
- H264 λΉλμ€: video/H264
5. μ£Ό νμ μ΄ applicationμΈ κ²½μ°
- JSON λ°μ΄ν°: application/json
- νμΈλμ§ μμ λ°μ΄λ리 νμΌ: application/octet-stream
octet-stream : μ»΄ν¨ν°μμλ λͺ¨λ νμΌμ΄ 0κ³Ό 1μ μ‘°ν©μΌλ‘ μ΄λ£¨μ΄μ Έ μλ€. κ·Όλ° 0κ³Ό 1μ μ‘°ν©μ΄ μ°λ¦¬κ° μ½μ μ μλ ν μ€νΈλ‘ λ³νμ΄ κ°λ₯ν κ²½μ°λ μκ³ , κ·Έλ μ§ μμ κ²½μ°λ μλ€. μΌλ°μ μΌλ‘ μ΄λ κ² ν μ€νΈ νμΌ μ΄μΈμ νμΌλ€μ λ°μ΄λ리 νμΌμ΄λΌκ³ νλ€. μ΄ μ€μμλ νμ₯μκ° .png, .mp4 λ±μ νΉμ νμ₯μμ ν¬λ§·μ ν΄λΉλμ§ μλ λ°μ΄ν°λ€μ λ³΄ν΅ application/octet-stream μ΄λΌκ³ νλ€.
λ³΄ν΅ μ΄ κΈμ΄ λ€μ΄κ° μμΌλ©΄ μ¬μ©μμκ² 'λ€μ΄λ‘λ λ°μΌμκ² μ΅λκΉ' κ°μ alertκ° λ¬λ€.
Content - Type ν€λκ° νμν μ΄μ
Content - Type ν€λκ° μ‘΄μ¬νλ©΄, λ°λμ λ°μ΄ν°λ₯Ό μ§μ νμΈν΄μ κ·Έ νμ μ μΆλ‘ νμ§ μμλ λκΈ° λλ¬Έμ΄λ€. μ΄λ‘μ¨ λΆνμν λΉμ© λ°μμ λ°©μ§ν μ μλ€.
μ¬μ© μμ
κ°μ²΄ μμ headers κ°μ²΄λ₯Ό μΆκ΅¬ν λ€ κ·Έμμ
'Content-Type':application/json' μ λ£μ΄μ€λ€.
const newMember = {
name: 'jiho',
email: 'jiholine@nver.com',
department: "engineer2"
};
fetch('μμ²λ³΄λΌ url μ£Όμ',{
method : 'POST',
headers: {
'Content-Type': 'application/json',
},
body : JSON.stringify(newMember)
})
.then((response) => response.text())
.then((result) => console.log(result));
μ°Έκ³ μλ£:
https://www.iana.org/assignments/media-types/media-types.xhtml