HTTP 헤더에 문자 세트가 지정되지 않았습니다. 오류


15

페이지를 Page Speed로 테스트 할 때 Specify a character set오류가 발생합니다.

The following resources have no character set specified in their HTTP headers. Specifying a character set in HTTP headers can speed up browser rendering.

Content-Type태그는 어디 오류가에서오고, 존재하고 페이지가 UTF-8뿐만 아니라 인코딩으로 저장된?


아파치 어디? 어느 디렉토리?

답변:


19

문서 본문이 아닌 응답 헤더를 나타냅니다 ( "Content-Type 태그").

HTTP 디버거 (예 : Firefox 용 Firebug의 Net 패널 또는 Chrome / Internet Explorer / Safari / Opera의 유사한 개발자 도구 탭) 를 사용하여 페이지의 응답 헤더를 확인 하면 다음 줄이 표시됩니다.

Content-Type: text/html

당신을 위해 동일을 선택하면 동시에, 페이지에서, 당신은 볼 것이다 :

Content-Type: text/html; charset=utf-8

페이지 속도가 누락 된 부분을 나타냅니다. 데 올바른 헤더에 문자 집합에 존재하는 것은 참으로 페이지를 렌더링 속도가 빨라집니다 조금 . 응답 헤더에 잘못된 문자 세트가 지정되었거나 문자 세트가 전혀 없으면 브라우저는 올바른 문자 세트 선언 ( <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />행)을 찾을 때까지 페이지를 스캔 / 해석 한 다음 문자 세트가 브라우저의 문자 세트와 다른 경우 렌더링 프로세스를 다시 시작해야합니다 기본 설정.

성능 저하는 전혀 크지 않습니다. 사용자에게는 실제로 오래되었거나 느린 하드웨어를 사용하지 않는 한 눈에 띄지 않습니다 (브라우저 및 브라우저 버전마다 다르지만). 어쩌면 이것과 직접 관련된 다른 "벌칙"이있을 수 있지만, 나는 개인적으로 그것들을 알지 못합니다.

수정 : 이 헤더를 직접 생성하면 (PHP 스크립트에서) 문자 세트를 포함하도록 헤더를 변경해야합니다. 스크립트가 이러한 헤더 조작을 수행하지 않으면 서버 구성 오류입니다.


방금 추가했습니다 header('Content-type: text/html; charset=UTF-8');. 고마워요!
Alex

6
로 응답 헤더를 볼 수도 있습니다 curl --head $url. AddDefaultCharset utf-8.htaccess와 같은 구성 파일 에 추가 하여 Apache에서 기본 문자 세트를 지정할 수 있습니다 .
Lri

명확한 설명을 위해 +1, 종종 이것을 궁금해하고 혼란스러워했습니다. htaccess로 해결됨 AddDefaultCharset 추가
Malachi

<meta charset="utf+8">충분 하지 않습니까?
Daniel Springer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.