[javascript] text / javascript 대신 JavaScript MIME 유형 application / javascript를 언제 사용해야합니까?

IE 에서 작동하지 않는 질문 jQuery 코드를 기반으로 ,text/javascript Internet Explorer에서 이해할 수 있도록 HTML 문서에 사용됩니다.

그러나 나는 언제 사용할 것이며 application/javascript, 더 중요한 것은 왜 대신 대신 사용할 것 text/javascript입니까?



답변

이론적으로,에 따라 RFC 4329 , application/javascript.

예상되는 이유 application는 형식을 읽을 수 있는지 또는 실행할 수 있는지와 관련이 없기 때문 입니다. 일반적인 charset매개 변수가 아닌 언어 / 유형 자체에 의해 정의 된 사용자 지정 문자 집합 결정 메커니즘이 있기 때문 입니다. 하위 유형text 프록시에서 다른 문자 으로 코드 변환하여 문자 매개 변수를 변경할 수 있어야합니다. 다음과 같은 이유로 JavaScript에는 해당되지 않습니다.

ㅏ. RFC는 사용자 에이전트가 스크립트에서 BOM 스니핑을 수행하여 유형을 결정해야한다고 말합니다 (브라우저가 실제로이 작업을 수행하는지 확실하지 않습니다).

비. 브라우저는 다른 정보 (페이지 인코딩 및 일부 브라우저에서script charset 속성 포함)를 사용하여 문자 집합을 결정합니다. 따라서 리소스를 트랜스 코딩하려고 시도한 프록시는 사용자를 중단시킵니다. (물론 어쨌든 아무도 트랜스 코딩 프록시를 사용하지 않습니다. 그러나 그 의도였습니다.)

따라서 파일의 정확한 바이트는 정확하게 보존되어야하므로 application기술적으로 문자 기반이 아닌 이진 유형이 text됩니다.

같은 이유로 application/xml공식적으로 선호됩니다 text/xml. XML에는 자체 대역 내 문자 집합 신호 메커니즘이 있습니다. 그리고 모든 사람들은 applicationXML도 무시합니다 .

text/javascripttext/xml공식 똑바로 살아라되지 않을 수도 있습니다,하지만이 모두가 호환성을 위해 오늘을 사용하는 것, 그리고 그들이 옳은 일을하지 않은 이유는 실질적으로 완전히 중요하지 않은 말할 수 있습니다.


답변

Javascript의 MIME 유형의 문제점은 몇 년 동안 표준이 없었기 때문입니다. 이제 공식 MIME 유형으로 application / javascript 가 있습니다.

그러나 실제로 브라우저가 유형 자체를 결정할 수 있기 때문에 MIME 유형은 전혀 중요하지 않습니다. 그렇기 때문에 HTML5 사양 type="text/javascript"에 더 이상 필요하지 않다고 명시되어 있습니다.


답변

application왜냐하면- .js파일은 사용자가 읽고 싶은 것이 아니라 실행되어야하기 때문입니다.


답변

application / javascript는 올바른 유형이지만 IE6-8에서는 지원되지 않으므로 text / javascript가 붙어 있습니다. 유효성에 신경 쓰지 않으면 (HTML5 제외) 유형을 지정하지 마십시오.


답변