이 헤더의 차이점은 무엇입니까?
Content-Type: application/javascript
Content-Type: application/x-javascript
Content-Type: text/javascript
어느 것이 가장 좋고 왜?
동일하다고 말하지 마십시오. 동일하면 세 개가 없었을 것입니다. 나는 두 가지 일을 모두 알고 있지만 차이점을 알고 싶습니다.
답변
text/javascript
는 쓸모 없고 표준화 될 때까지 과도기 동안 application/x-javascript
실험적 (따라서 x-
접두사)이었습니다 application/javascript
.
을 사용해야합니다 application/javascript
. 이것은 RFC에 문서화되어 있습니다.
브라우저에 관해서는 (적어도 HTTP 헤더에는) 차이가 없습니다. 있도록 이것은 단지 변경했다 text/*
및 application/*
MIME 타입 그룹은 가능하면 일관된 의미를 가지고 있었다. ( text/*
MIME 타입은 사람이 읽을 수있는 콘텐츠를위한 것입니다, 자바 스크립트는 직접 인간에게 의미를 전달하기 위해 설계되지 않았습니다).
스크립트 요소 application/javascript
의 type
속성에 사용 하면 일부 이전 브라우저에서 스크립트가 알 수없는 언어로 무시됩니다. text/javascript
HTML 5에서 허용되는 속성을 계속 사용 하거나 속성을 완전히 생략하십시오.
브라우저가 보편적으로 (내가 아는 한) 브라우저에서 HTTP 콘텐츠 유형의 스크립트를 완전히 무시하거나 인식 할 수있을 정도로 최신식이기 때문에 이것은 HTTP 헤더에서 문제가되지 않습니다 application/javascript
.
답변
로 시작하는 MIME 유형 x-
은 표준화되지 않았습니다. 자바 스크립트의 경우 구식입니다. 두 번째 코드 스 니펫 추가
<?Header('Content-Type: text/javascript');?>
short_open_tags
활성화 해야 합니다. 피해야합니다.
<?php Header('Content-Type: text/javascript');?>
그러나 자바 스크립트에 대한 완전히 올바른 MIME 유형은
application/javascript
http://www.iana.org/assignments/media-types/application/index.html
답변
RFC 4329에 따르면 JavaScript의 올바른 MIME 유형은 다음과 같아야합니다 application/javascript
. 그러나 이전 IE 버전은 기대 한 이후로 이것에 질식했습니다 text/javascript
.
답변
type = “application / javascript”사용
HTML5의 경우 type 속성이 더 이상 사용되지 않으므로 제거 할 수 있습니다. 참고 : w3.org에 따르면 기본적으로 “text / javascript”로 설정되어 있으므로 “application / javascript”를 제거하는 대신 추가하는 것이 좋습니다.
http://www.w3.org/TR/html5/scripting-1.html#attr-script-type
type 속성은 스크립트 언어 또는 데이터 형식을 제공합니다. 속성이 존재하면 해당 값은 유효한 MIME 유형이어야합니다. 문자 세트 매개 변수를 지정하지 않아야합니다. 속성이없는 경우 사용되는 기본값은 “text / javascript”입니다.
“text / javascript”는 더 이상 사용되지 않으므로 “application / javascript”를 사용하십시오 .
RFC 4329 : http://www.rfc-editor.org/rfc/rfc4329.txt
배포 된 스크립팅 미디어 유형 및 호환성
ECMAScript 및 JavaScript로 작성된 프로그램을 레이블링하고 교환하기 위해 등록되지 않은 다양한 매체 유형이 임시 방식으로 사용되었습니다. 여기에는 다음이 포함됩니다.
+ ————————————————- —- + | 텍스트 / 자바 스크립트 | 텍스트 / 엑마 스크립트 | | 텍스트 / 자바 스크립트 1.0 | 텍스트 / 자바 스크립트 1.1 | | 텍스트 / 자바 스크립트 1.2 | 텍스트 / 자바 스크립트 1.3 | | 텍스트 / 자바 스크립트 1.4 | 텍스트 / 자바 스크립트 1.5 | | 텍스트 / jscript | 텍스트 / 라이브 스크립트 | | text / x-javascript | text / x-ecmascript | | application / x-javascript | application / x-ecmascript | | 응용 프로그램 / 자바 스크립트 | 응용 프로그램 / 전자 스크립트 | + ————————————————- —- +
이런 종류의 콘텐츠에 “텍스트”최상위 유형을 사용하는 것은 문제가있는 것으로 알려져 있습니다. 따라서이 문서는 text / javascript 및 text /
ecmascript 를 정의 하지만 “사용되지 않음”으로 표시합니다.
위의 부분에 나열된 실험 및 미등록 미디어 유형은 사용하지 않는 것이 좋습니다.
미디어 유형* application/javascript * application/ecmascript
이 문서에도 정의되어 있으며 일반적인 사용을위한 것이며 대신 사용해야합니다.
이 문서는
text / javascript, text / ecmascript 및 application / javascript 유형에 대한 동등한 처리 요구 사항을 정의합니다 .
매체 유형 응용 프로그램 / 전자 스크립트의 사용 및 지원
은
이 문서에 정의 된 다른 매체 유형에 비해 훨씬 덜 널리 퍼져 있습니다. 이를 활용하여이 문서는
보다 상호 운용 가능한
처리 를 장려하기 위해이 유형에 대해보다 엄격한 처리 규칙을 정의합니다 .
x-javascript는 실험적이므로 사용하지 마십시오.