서버와 브라우저는 인터넷을 통해 데이터 바이트를 전송하여 서로 통신합니다. 서버가 HTML 파일을 전송할 때 사용하는 문자 인코딩 형식을 지정하지 않으면 브라우저가 각 바이트가 나타내는 문자를 알 수 없습니다. 문자 인코딩 선언 사양은 이 문제를 해결합니다.
Lighthouse charset 감사가 실패하는 방식
Lighthouse는 문자 인코딩을 지정하지 않는 페이지에 플래그를 지정합니다.
Lighthouse는 다음 중 하나라도 발견되면 문자 인코딩이 선언된 것으로 간주합니다.
- 문서의
<head>에 있는<meta charset>요소로, 문서의 처음 1024바이트에 완전히 포함됩니다. - 유효한 IANA 이름과 일치하는
charset지시어가 있는Content-TypeHTTP 응답 헤더 - 바이트 순서 표시 (BOM)
charset 감사 통과 방법
HTML에 <meta charset> 요소 추가
HTML 문서의 처음 1024바이트 내에 <meta charset> 요소를 추가합니다.
요소는 처음 1024바이트 내에 완전히 포함되어야 합니다.
<meta charset> 요소를 문서의 <head>에 있는 첫 번째 요소로 만드는 것이 좋습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
…
Content-Type HTTP 응답 헤더 추가
charset 지시어를 포함하는 Content-Type HTTP 응답 헤더를 추가하도록 서버를 구성합니다.
Content-Type: text/html; charset=UTF-8