application/javascript
Application

개요

application/javascript는 브라우저·Node.js가 실행하는 ECMAScript 소스 코드의 미디어 타입입니다. 다만 현행 HTML 표준은 스크립트 서빙에 text/javascript를 '권장 레거시 타입'으로 지정하므로 실무에서는 두 타입이 공존합니다.

자세히

역사적으로 text/javascript, application/x-javascript, application/javascript 등 여러 타입이 난립했습니다. RFC 4329는 application/javascript를 정본으로 등록했지만, WHATWG는 상호운용성 관점에서 text/javascript를 '권장'으로 되돌렸습니다. 어느 쪽을 써도 브라우저는 <script>를 실행하며, `charset=utf-8`을 붙여 소스의 한글 문자열·식별자를 올바르게 디코드합니다.

ES 모듈(`import`/`export`, `.mjs`)을 <script type="module">로 로드하려면 서버가 반드시 JavaScript MIME 타입(text/javascript 또는 application/javascript)을 정확히 보내야 합니다. 잘못된 타입(text/plain 등)이면 브라우저가 strict MIME 검사로 실행을 거부합니다. 정적 파일 서버가 .mjs 확장자를 모르면 이 오류가 자주 납니다.

문법

e.g. Content-Type: application/javascript; charset=utf-8

파일 확장자

.js.mjs

실무 참고

관련 타입

관련 헤더