MapleStory Finger Point

โšช ์šฉ์–ด ์ •๋ฆฌ

MIME type = media type = Content-Type

HYEJU01 2025. 1. 3. 18:44
 

๋ชฉ์ฐจ

 

     

     

     

    Content-Type, MIME type, media type์˜ ๊ด€๊ณ„

    • ์ด๋“ค์€ ๋ชจ๋‘ ๊ฐ™์€ ๊ฐœ๋…์œผ๋กœ, ์ธํ„ฐ๋„ท์—์„œ ํŒŒ์ผ ํฌ๋งท๊ณผ ์ฝ˜ํ…์ธ ๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
    • ๊ณผ๊ฑฐ์—๋Š” MIME type ์œผ๋กœ ๋ถˆ๋ ธ์ง€๋งŒ, ์ง€๊ธˆ์€ media type ์œผ๋กœ ์‚ฌ์šฉํ•จ. ๋•Œ๋•Œ๋กœ content type ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ

     


     

     

     

    MIME( Multipurpose Internet Mail Extensions ) type

    • ํŒŒ์ผ์˜ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด๋กœ ํŒŒ์ผ๊ณผ ๊ฐ™์ด ์†ก์‹ ๋˜๋Š”๋ฐ content์˜ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • ์œˆ๋„์šฐ์˜ ํŒŒ์ผ ํ™•์žฅ์ž์™€ ๋™์ผํ•œ ์—ญํ• 
    • ์ด๋ฉ”์ผ ๋ฉ”์„ธ์ง€ , ์ฒจ๋ถ€ํŒŒ์ผ ์ข…๋ฅ˜๋ฅผ ๊ณ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ •์˜๋˜์—ˆ๊ณ  ์ด๋ฅผ ๊ทผ๊ฑฐ๋กœ MIME ํƒ€์ž…์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋งŒ๋“ค์–ด์ง
    • ์ง€๊ธˆ์€ Media Type ์ด๋ผ๋Š” ์šฉ์–ด๋กœ ์‚ฌ์šฉ ๋œ๋‹ค.

     


     

    media type

    • ๋ฏธ๋””์–ด ํƒ€์ž…์€ ์›๋ž˜ 1996๋…„์— MIME ์‚ฌ์–‘์˜ ์ผ๋ถ€์˜€์Œ
    • HTTP ๋‚˜ HTML ๋“ฑ์˜ ๋ฌธ์„œ ํŒŒ์ผ ํฌ๋งท์— ์‚ฌ์šฉ๋จ
    • ์ธํ„ฐ๋„ท ํ• ๋‹น ๋ฒˆํ˜ธ ๊ด€๋ฆฌ ๊ธฐ๊ด€(IANA)์€ ๋ชจ๋“  ๊ณต์‹ MIME ํƒ€์ž…์„ ๋‹ด๋‹นํ•˜๋ฉฐ ๋ฏธ๋””์–ด ํƒ€์ž…์—์„œ ๊ฐ€์žฅ ์ตœ์‹  ๋ชฉ๋ก ๋ณผ ์ˆ˜ ์žˆ์Œ
    • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์ „ํ†ต์ ์œผ๋กœ ์†Œ๋ฌธ์ž๋กœ ์“ฐ์—ฌ์ง‘๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

     

     

    media type ๊ตฌ์กฐ

    • ์œ ํ˜•(type), ์•„ํ˜•(subtype), ๊ทธ๋ฆฌ๊ณ  ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ตฌ์กฐ๋กœ ์ด๋ฃจ์–ด์ง
    `text` ์œ ํ˜•  + `plain` ์•„ํ˜• => `text/plain` ์ผ๋ฐ˜ ํ…์ŠคํŠธ ํŒŒ์ผ
    `text` ์œ ํ˜• + `html` ์•„ํ˜• => `text/html` HTML ๋ฌธ์„œ
    `application` ์œ ํ˜• + `json` ์•„ํ˜• => `application/json` JSON ๋ฐ์ดํ„ฐ

     

     

    ex) HTML  `text/html; charset=UTF-8` 
    `text` ๋Š” ์œ ํ˜• `html` ์€ ์•„ํ˜• `charset=UTF-8` ์€ ๋ฌธ์ž ์ธ์ฝ”๋”ฉ  = ์„ ํƒ์  ๋งค๊ฐœ๋ณ€์ˆ˜

     

     

    https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%94%94%EC%96%B4_%ED%83%80%EC%9E%85

     

     

     

     

    media type ํƒ€์ž…

     

    • Discrete(๋‹จ์ผ ์ฝ˜ํ…์ธ )
      • ๋‹จ์ผ ์ฝ˜ํ…์ธ  ์œ ํ˜•์„ ๊ฐ€์ง„ ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค.
      • ์˜ˆ: ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€, ๋น„๋””์˜ค, ์˜ค๋””์˜ค ๋“ฑ ๋…๋ฆฝ์ ์ธ ๋ฐ์ดํ„ฐ ํ˜•์‹.
      • ์ฃผ์š” ์˜ˆ:
        • text/plain: ์ผ๋ฐ˜ ํ…์ŠคํŠธ
        • image/png: PNG ์ด๋ฏธ์ง€
        • application/json: JSON ๋ฐ์ดํ„ฐ

     

    • Multipart(๋‹ค์ค‘ ์ฝ˜ํ…์ธ )
      • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ฝ˜ํ…์ธ ๊ฐ€ ๊ฒฐํ•ฉ๋œ ๋ณตํ•ฉ ๋ฐ์ดํ„ฐ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.
      • ์ด๋ฉ”์ผ ์ฒจ๋ถ€ํŒŒ์ผ, ํผ ๋ฐ์ดํ„ฐ ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ํฌํ•จํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
      • ์ฃผ์š” ์˜ˆ:
        • multipart/mixed: ๋‹ค์–‘ํ•œ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จ(์˜ˆ: ์ด๋ฉ”์ผ ๋ณธ๋ฌธ๊ณผ ์ฒจ๋ถ€ํŒŒ์ผ)
        • multipart/form-data: ํŒŒ์ผ ์—…๋กœ๋“œ ์‹œ ์‚ฌ์šฉ(HTML ํผ ๋ฐ์ดํ„ฐ)
        • multipart/alternative: ๋™์ผํ•œ ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์–‘ํ•œ ํ˜•์‹์œผ๋กœ ์ œ๊ณต(์˜ˆ: HTML๊ณผ plain ํ…์ŠคํŠธ ๋ฒ„์ „)

     

     

     


    Content-Type 

    • HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ํ—ค๋” ํ•„๋“œ๋กœ, ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„ ๋ฐ์ดํ„ฐ์˜ ๋ฏธ๋””์–ด ํƒ€์ž…์„ ์ง€์ •ํ•จ

     

    import axios from 'axios';
    
    function sendText() {
        axios.post('/api/text', '<h1>Hello, World!</h1>', {
            headers: {
                'Content-Type': 'text/html', <<<<< ์š”๊ฑฐ
            },
        })
        .then((response) => {
            console.log('Response:', response.data);
        })
        .catch((error) => {
            console.error('Error:', error);
        });
    }

     


    MIME ํƒ€์ž… (Media Type)  ์ฃผ์˜ ์‚ฌํ•ญ

    ex)

    CSS ํŒŒ์ผ์ด text/plain์œผ๋กœ ์„ค์ •๋จ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ CSS๋ฅผ ์Šคํƒ€์ผ๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœ ํ…์ŠคํŠธ๋กœ ๋ Œ๋”๋ง.
    JavaScript ํŒŒ์ผ์ด application/json์œผ๋กœ ์„ค์ •๋จ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ๋ธŒ๋ผ์šฐ์ €๊ฐ€ JSON ํŒŒ์ผ๋กœ ์ฒ˜๋ฆฌํ•จ.
    ์ด๋ฏธ์ง€ ํŒŒ์ผ์ด application/octet-stream์œผ๋กœ ์„ค์ •๋จ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ง์ ‘ ๋ณด์—ฌ์ฃผ๋Š” ๋Œ€์‹  ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ ์ฐฝ์ด ๋œธ.

     

    ์ž˜๋ชป๋œ MIME ํƒ€์ž…์„ ์„ค์ •ํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŒŒ์ผ์ด ์˜ˆ์ƒ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค !

     

     

     

    MIME ํƒ€์ž… ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• 

    • ๋ธŒ๋ผ์šฐ์ €์—์„œ F12(๊ฐœ๋ฐœ์ž ๋„๊ตฌ) → "Network" ํƒญ → ์š”์ฒญ ํŒŒ์ผ ์„ ํƒ → "Headers" ์„น์…˜์—์„œ Content-Type ํ™•์ธ.

     

     

     

     

     

    https://www.iana.org/

    https://datatracker.ietf.org/doc/html/rfc6838

    https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%94%94%EC%96%B4_%ED%83%80%EC%9E%85